Хьюго ван Кеменаде: Мягкое уст... Заметка
Planet Python на русском

Хьюго ван Кеменаде: Мягкое устаревание re.match()

re.match() пытается сопоставить шаблон в самом начале строки. Он возвращает объект сопоставления, если шаблон найден в начале, в противном случае возвращает None. re.match("pi", "pi") и re.match("pi", "pie") оба возвращают совпадение, потому что "pi" находится в начале этих строк. Однако re.match("pi", "api") и re.match("pi", "magpie") не дают совпадения, так как "pi" не появляется в начале строки.В отличие от этого, re.search() сканирует всю строку и возвращает первое место, где найден шаблон, независимо от его положения. re.fullmatch() требует, чтобы вся строка точно соответствовала шаблону от начала до конца. Python 3.15 представил re.prefixmatch() как псевдоним для re.match(), стремясь к более четкой семантике благодаря своему названию. re.match() был мягко объявлен устаревшим в Python 3.15, что означает, что его не следует использовать для нового кода, но он остается безопасным для существующего кода. Для нового кода следует предпочитать re.prefixmatch(), если намерение состоит в том, чтобы сопоставлять только в начале.