Соответствие строки регулярного выражения Python?
У меня есть время, пытаясь перенести мой опыт с регулярным выражением javascript на Python.
Я просто пытаюсь заставить это работать:
print(re.match('e','test'))
... но он печатает None. Если я это сделаю:
print(re.match('e','est'))
Он соответствует... это по умолчанию соответствует началу строки? Когда это соответствует, как я могу использовать результат?
Как мне сделать первый матч? Есть ли более эффективная документация, чем сайт python?
Ответы
Ответ 1
re.match
неявно добавляет ^
к началу вашего регулярного выражения. Другими словами, он совпадает только в начале строки.
re.search
будет повторяться во всех позициях.
Вообще говоря, я рекомендую использовать re.search
и добавлять ^
явно, когда вы этого хотите.
http://docs.python.org/library/re.html
Ответ 2
Документы понятны, я думаю.
re.match(pattern, string [, flags]) ¶
If zero or more characters **at the beginning of string** match the
шаблон регулярного выражения, верните соответствующий MatchObject пример. Возврат Нет, если строка не соответствует шаблону; заметка что это отличается от совпадения нулевой длины.