Уведомления

Группа в Telegram: @pythonsu

#1 Март 27, 2011 23:55:55

Shama
От:
Зарегистрирован: 2009-07-19
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярные выражения, search ищет только одно вхождение.

Мне нужно найти все вхождения строки id=любое число.Точнее мне нужен список с числами.
Решил использовать регулярные выражения так как другого варианта и не знаю.
Далаю так

pattern = re.compile(r'id=(\d{6,11})')
id = pattern.search(s).group()
Но он находит только первое вхождение.
Где ошибка?
Или так и должно быть ?



Офлайн

#2 Март 28, 2011 00:08:25

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярные выражения, search ищет только одно вхождение.

а почитать какие еще есть методы? http://docs.python.org/library/re.html



Офлайн

#3 Март 28, 2011 00:19:09

Shama
От:
Зарегистрирован: 2009-07-19
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярные выражения, search ищет только одно вхождение.

Еще раз перечитал.Да забыл про findall :)



Офлайн

#4 Март 29, 2011 18:40:22

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

Регулярные выражения, search ищет только одно вхождение.

может так:
pattern = re.compile(r'id=(\d{6,11})')
id = pattern.search(s).groups()



Офлайн

#5 Март 30, 2011 16:26:30

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Регулярные выражения, search ищет только одно вхождение.

Еще finditer - тоже полезная функция.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version