Группы и обратные ссылки

Захват частей совпадения и повторные ссылки на них.

Сигнатура(...) (?P<name>...) (?:...) \1 (?P=name)

Скобки (...) создают захватывающую группу. Варианты:

  • (...) — нумерованная группа (\1, \2…);
  • (?P<name>...) — именованная группа;
  • (?:...) — группировка без захвата;
  • \1 или (?P=name) — обратная ссылка на ранее захваченный текст.
import re

# обратная ссылка: ищем удвоенное слово
m = re.search(r"(\w+) \1", "the the cat")
print(m.group())  # the the

# именованная группа
m = re.search(r"(?P<area>\d{3})-(?P<num>\d{4})", "495-1234")
print(m.group("area"))  # 495
← Все записи: Модули re и json
Поддержать проект