Python Glossary English

Python 3.15+reфункция

re.prefixmatch()

поиск

Новое имя для re.match: ищет совпадение только в начале строки. Имя говорит, что делает функция, и не путается с search и fullmatch.

Синтаксис

re.prefixmatch(pattern, string, flags=0)

re.match давно сбивает с толку: по названию кажется, что он ищет совпадение где угодно или проверяет строку целиком, а он проверяет только начало. prefixmatch — та же функция под честным именем, у объекта шаблона есть такой же метод Pattern.prefixmatch. Даже с re.MULTILINE совпадение ищется лишь в начале строки, а не каждой линии. Для поиска по всей строке нужен re.search, для проверки строки целиком — re.fullmatch. Код, который должен работать на версиях до 3.15, продолжает использовать re.match: старое имя не устарело.

Примеры

import re
print(re.prefixmatch(r'\d+', '42 apples').group())  # → 42
print(re.prefixmatch(r'\d+', 'apples 42'))  # → None
print(re.search(r'\d+', 'apples 42').group())  # → 42

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности