Регулярные выражения (иногда сокращенные до regexp, regex или re) - это инструмент для сопоставления шаблонов в тексте. В Python у нас есть модуль re. Приложения для регулярных выражений широко распространены, но они довольно сложны, поэтому при рассмотрении использования регулярного выражения для определенной задачи подумайте об альтернативах и прибегайте к регулярным выражениям в крайнем случае.
Пример регулярного выражения: r"^(From|To|Cc).*?python-list@python.org"
Теперь для объяснения: курсор ^
соответствует тексту в начале строки. В следующей группе часть с (From|To|Cc)
означает, что строка должна начинаться с одного из слов, разделенных вертикальной чертой |
. Это называется оператором ИЛИ, и регулярное выражение будет соответствовать, если строка начинается с любого из слов в группе. В .*?
средства для ипа-алчно соответствуют любому количеству символов, кроме символа новой строки \n
символа. Нежадная часть означает как можно меньше повторений. Этот .
символ означает любой символ, не являющийся символом новой строки, *
означает повторение 0 или более раз, а ?
символ делает его не жадным.
Таким образом, это регулярное выражение будет соответствовать следующим строкам:
From: python-list@python.org
To: !asp]<,. python-list@python.org
Полный справочник по синтаксису re доступен в документации python .
В качестве примера "правильного" регулярного выражения для сопоставления адресов электронной почты (как в упражнении) см. Это