Регулярные выражения (или регулярки) в Python — это мощный инструмент для работы с текстом. Они позволяют находить, заменять и анализировать строки на основе заданных шаблонов. Регулярные выражения представляют собой последовательности символов, которые формируют шаблон для поиска. В Python библиотека для работы с регулярными выражениями называется re.

Основные функции библиотеки re:

  • re.match() — проверяет, начинается ли строка с заданного шаблона.
  • re.search() — ищет шаблон в строке и возвращает первое совпадение.
  • re.findall() — возвращает все непересекающиеся совпадения шаблона в строке в виде списка.
  • re.sub() — заменяет совпадения шаблона в строке на другую строку.
  • re.split() — разбивает строку по шаблону.

Для начала работы с регулярными выражениями, необходимо импортировать библиотеку re:

import re

Вот несколько примеров использования регулярных выражений в Python:

Пример 1: Проверка, начинается ли строка с определенного слова.

import re

pattern = r'^Привет'
string = 'Привет, как дела?'

if re.match(pattern, string):
    print('Строка начинается с "Привет"')
else:
    print('Строка не начинается с "Привет"')

Пример 2: Поиск всех чисел в строке.

import re

string = 'У меня 2 яблока и 3 груши'
pattern = r'd+'

numbers = re.findall(pattern, string)
print(numbers)  # Вывод: ['2', '3']

Пример 3: Замена всех пробелов на подчеркивания.

import re

string = 'Это пример строки'
pattern = r's+'

new_string = re.sub(pattern, '_', string)
print(new_string)  # Вывод: 'Это_пример_строки'

Специальные символы в регулярных выражениях:

  • `.` — любой символ, кроме символа новой строки.
  • ^ — начало строки.
  • $ — конец строки.
  • * — 0 или более повторений предыдущего символа.
  • + — 1 или более повторений предыдущего символа.
  • ? — 0 или 1 повторение предыдущего символа.
  • d — любая цифра (0-9).
  • D — любой нецифровой символ.
  • s — любой пробельный символ.
  • S — любой непробельный символ.
  • w — любой буквенно-цифровой символ (буквы, цифры и символы подчеркивания).
  • W — любой не буквенно-цифровой символ.

Группировка и замена: можно использовать круглые скобки для группировки частей шаблона. Это позволяет выделять определенные части совпадения, а также использовать их в замене.

import re

string = 'Я люблю Python и Java'
pattern = r'(Python|Java)'

new_string = re.sub(pattern, 'язык программирования', string)
print(new_string)  # Вывод: 'Я люблю язык программирования и язык программирования'

Регулярные выражения могут быть довольно сложными, но их сила и гибкость делают их незаменимыми в задачах обработки текста. Важно помнить, что они требуют внимательности при составлении шаблонов, так как небольшая ошибка может привести к неправильным результатам.

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