Регулярное выражение широко известно как «regex», «re» или «regexp». Это мощный инструмент, используемый для сопоставления/нахождения шаблона строки и управления строкой.
Самое смешное, что я познакомился с регулярным выражением в меме, увидев, что мои ожидания взлетели до небес, в то же время я подумал, что это может доставить мне неприятности, и да, это так.
Шутки отдельно. Давайте поговорим о регулярном выражении в Python, его можно использовать, импортировав модуль с именем «re».
Регулярное выражение представляет собой набор символов с узкоспециализированным синтаксисом. Он содержит несколько функций и констант для работы.
В приведенном выше примере я использовал re.search(), одну из функций в «re», для поиска шаблона в строке. Как видите, результатом работы программы является «Найдено совпадение», поскольку она нашла шаблон в запрошенной нами строке. У нас есть несколько функций, таких как search() в модуле «re», которые мы обсудим позже.
Как вы можете видеть в приведенном выше примере, мы использовали набор символов для поиска шаблона в строке. Символы, которые мы использовали, бывают двух видов: буквальные символы и метасимволы.
Давайте обсудим их один за другим. Во-первых, мы увидим часто используемые функции регулярных выражений.
1. поиск() :
Он ищет указанный шаблон в строке и возвращает объект соответствия, если шаблон найден, который мы видели в примере в проиллюстрированном выше коде.
2. findall():
Эта функция используется для поиска всех вхождений шаблона в строке и возвращает их в виде списка строк.
3. split():
Как следует из названия, он используется для разбиения строки при каждом появлении шаблона и возвращает список результирующих подстрок.
4. sub():
Substitute заменяет все вхождения шаблона в строке другой строкой.
5. компилировать():
Компилирует шаблон в объект, который можно использовать для сопоставления. Это полезно, если вам нужно использовать один и тот же шаблон несколько раз, так как это может сэкономить время и ресурсы, скомпилировав шаблон один раз и повторно используя скомпилированный шаблон.
6. игнорировать регистр():
Он используется для выполнения сопоставления без учета регистра. Он передается в качестве второго аргумента различным функциям регулярных выражений, таким как search(), findall() и sub().
Чтобы узнать больше о функциях регулярных выражений, посетите — https://docs.python.org/3/library/re.html
Помимо функций, в модуле регулярных выражений у нас есть литеральные символы и метасимволы.
Буквальные символы:
Символы, представляющие самих себя, называются буквальными символами в модуле regex. Например, буква «k» — это буквальный символ, представляющий себя в регулярном выражении.
Вы можете включить символ в соответствие как литерал в регулярном выражении. Например, шаблон «а» будет соответствовать символу «а» в строке.
Метасимволы:
Метасимволы — это специальные символы, имеющие особое значение. Они используются для выполнения более сложного поиска и работы с регулярными выражениями.
Вот некоторые распространенные метасимволы и их значения:
· ‘.’ (точка) соответствует любому одиночному символу (кроме новой строки)
· ‘*’ соответствует нулю или более вхождениям предшествующего символа или шаблона
· «+» соответствует одному или нескольким вхождениям предшествующего символа или шаблона
· ‘?’ соответствует нулю или одному вхождению предшествующего символа или шаблона
· ‘{n}’ соответствует ровно n вхождениям предшествующего символа или шаблона
· ‘{n,}’ соответствует n или более вхождениям предшествующего символа или шаблона
· ‘{n,m}’ соответствует не менее чем n и не более чем m вхождениям предшествующего символа или шаблона
· ‘[]’ определяет класс символов, который соответствует любому одиночному символу в классе
· ‘^’ соответствует началу строки
· ‘$’ соответствует концу строки
· ‘\b’ соответствует границе слова
· ‘\d’ соответствует любой цифре (эквивалентно [0–9])
· ‘\D’ соответствует любой нецифре (эквивалентно [⁰-9])
· ‘\s’ соответствует любому пробельному символу (эквивалентно [ \t\n\r\f\v])
· '\S' соответствует любому непробельному символу (эквивалентно [^ \t\n\r\f\v])
· ‘\w’ соответствует любому буквенно-цифровому символу (эквивалентно [a-zA-Z0–9_])
· ‘\W’ соответствует любому небуквенно-цифровому символу (эквивалентен [^a-zA-Z0–9_])
Чтобы узнать больше о метасимволах, посетите страницу https://docs.python.org/3/library/re.html#regular-expression-syntax.
Практические примеры:
- Проверка адреса электронной почты.
2. Извлечение номера телефона из строки.
3. Извлечение URL
Приведенные выше примеры помогли лучше понять модуль регулярных выражений.
Регулярные выражения можно использовать в различных приложениях, таких как проверка входных данных, извлечение информации из текстовых файлов и анализ структурированных данных. Поэтому понимание того, как работают регулярные выражения и как их эффективно использовать, необходимо для экономии времени и усилий при работе со строками в Python.
Картик Сараванан
www.linkedin.com/in/karthik-sa
Прощай!