Разница заключается в том, что re.match()
вводит в заблуждение любого, кто привык к Perl , grep или sed регулярному выражению, а re.search()
не. : -)
Более трезво, Как замечает Дж. Д. Кук , re.match()
"ведет себя так, как если бы каждый шаблон имел предшествующий". Другими словами, re.match('pattern')
равен re.search('^pattern')
. Таким образом, он закрепляет левую сторону рисунка. Но он также не привязывает правую сторону паттерна: , которая все еще требует завершения $
.
Честно говоря, я считаю, что re.match()
должно быть устаревшим. Мне было бы интересно узнать причины, по которым его следует сохранить.