Уведомления

Группа в Telegram: @pythonsu

#1 Июль 1, 2013 11:08:51

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

Использование регулярного выражения с (?P=name)

Подскажите, примеров не нашел, хотелось бы понять для чего используется.



Офлайн

#2 Июль 1, 2013 11:11:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Использование регулярного выражения с (?P=name)

Офлайн

#3 Июль 1, 2013 11:51:27

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

Использование регулярного выражения с (?P=name)

Там именованные группы (?P<name>pattern). Это я знаю и использую, но не (?P=name) - Matches whatever text was matched by the earlier group named name.



Офлайн

#4 Июль 1, 2013 11:54:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Использование регулярного выражения с (?P=name)

А ну да, сорри



Офлайн

#5 Июль 1, 2013 12:45:01

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Использование регулярного выражения с (?P=name)

то же что и \number только для именованной группы

Отредактировано bismigalis (Июль 1, 2013 12:47:49)

Офлайн

#6 Июль 1, 2013 16:05:21

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

Использование регулярного выражения с (?P=name)

>>> re.search(r'(?P<word>[a-z]+)', '123tqwdett123').group(0)
'tqwdett'
>>> re.search(r'(?P<word>[a-z]+)', '123tqwdett123').group("word")
'tqwdett'
т.е. можно обращаться и по номеру и по имени. С \number как я понял это обращение по номеру….



Отредактировано inzem (Июль 1, 2013 16:06:31)

Офлайн

#7 Июль 1, 2013 18:47:38

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Использование регулярного выражения с (?P=name)

обращение внутри самого регулярного выражения, если нужно повторить группу

Офлайн

#8 Июль 1, 2013 20:22:23

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

Использование регулярного выражения с (?P=name)

В теории понятно :)
Можно пример?



Офлайн

#9 Июль 1, 2013 20:50:55

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

Использование регулярного выражения с (?P=name)

>>> re.search(r'(?P<word>[a-z]+).*(?P=word)', '123tqqqwww2312qqqddd').group()
'qqqwww2312qqq'
:)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version