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Сообщить о неточности