Обратные ссылки в шаблоне позволяют указать, что содержимое более ранней группы также должно быть найдено в текущем месте строки.
Например обозначение \1
в шаблоне регулярного выражения будет соответствовать содержимому группы с номером 1
. Помните, что строковые литералы Python также используют обратную косую черту за которой следуют цифры, чтобы разрешить включение произвольных символов в строку, поэтому обязательно используйте сырые строки r'...'
при включении обратных ссылок в шаблон регулярных выражений.
Например, следующий шаблон обнаруживает двойные слова в строке:
>>> p = re.compile(r'(\b\w+)\s+\1') >>> p.search('Paris in the the spring').group() # 'the the'
Обратные ссылки, подобные этой не всегда полезны для простого поиска по строке. Существует формат, который повторяет данные таким же образом и очень полезен при выполнении подстановок строк. Этот формат называется "Именованные группы в регулярных выражениях".