Regex 101: The Ultimate Guide to Mastering Regular Expressions
Regex 101 - это интерактивный инструмент для тестирования и отладки регулярных выражений (регэкспов). С его помощью можно легко проверить, правильный ли синтаксис регулярного выражения, соответствуют ли они ожидаемым результатам и посмотреть информацию о каждом совпадении, включая номер строки и позицию.
Пример использования:
Допустим, мы хотим извлечь все email адреса из списка контактов.
Первым шагом нужно создать паттерн регулярного выражения. В данном случае подойдет простое выражение, использующее символ @ и точку:
\w+@\w+\.\w+
Данное выражение будет соответствовать любому email-адресу, в котором:
\w+ означает один или более символов, являющихся частью локальной части email адреса, т.е. его имени;
@ символ «собаки»;
\w+ означает один или более символов, являющихся частью доменного имени;
\. символ точки;
\w+ означает один или более символов, являющихся частью верхнеуровневого домена (com, org, edu, и т.д.).
После создания выражения его можно проверить на сайте regex101.com. В левом верхнем углу нажмите на кнопку "Regex" и вставьте созданный паттерн регулярного выражения. В правой части страницы вводим тестовые данные со списком контактов и нажимаем кнопку "Match". Если регулярное выражение правильно составлено, то мы увидим все подходящие моменты совпадения нашего шаблона для данного текста.
Мы можем использовать различные регулярные выражения для различных задач, таких как проверка правильности ввода даты, времени, номера телефона и т.д.
Пример кода для использования регулярного выражения в Python:
import re
regex = r"\w+@\w+\.\w+"
text = "Список контактов: ivanov@mail.com, petrov@mail.com, sidorov@inbox.ru, user1@domen.net"
matches = re.findall(regex, text)
print(matches)
# вывод: ['ivanov@mail.com', 'petrov@mail.com', 'sidorov@inbox.ru', 'user1@domen.net']
Данный пример демонстрирует применение метода findall библиотеки re в Python для извлечения всех email-адресов из строки текста.