Регулярное выражение широко известно как «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.

Практические примеры:

  1. Проверка адреса электронной почты.

2. Извлечение номера телефона из строки.

3. Извлечение URL

Приведенные выше примеры помогли лучше понять модуль регулярных выражений.

Регулярные выражения можно использовать в различных приложениях, таких как проверка входных данных, извлечение информации из текстовых файлов и анализ структурированных данных. Поэтому понимание того, как работают регулярные выражения и как их эффективно использовать, необходимо для экономии времени и усилий при работе со строками в Python.

Картик Сараванан

www.linkedin.com/in/karthik-sa

Прощай!