Модуль re Python

Модуль re позволяет искать, сопоставлять, разделять и заменять текст с помощью регулярных выражений.

import re

Регулярные выражения — это шаблоны для текста. Используйте raw string, например r'\d+', чтобы обратные слеши корректно передавались движку регулярных выражений.

search находит первое совпадение в любой части строки.

import re

match = re.search(r'\d+', 'Order #12345 shipped')
print(match.group())
12345

findall()

findall возвращает все непересекающиеся совпадения.

import re

emails = re.findall(r'[\w.-]+@[\w.-]+', 'a@example.com b@example.com')
print(emails)
['a@example.com', 'b@example.com']

sub()

sub заменяет совпадающий текст.

import re

message = re.sub(r'\s+', ' ', 'too    many   spaces')
print(message)
too many spaces

Компиляция шаблонов

Скомпилированные шаблоны полезны, когда вы многократно используете одно и то же выражение.

import re

pattern = re.compile(r'^python', re.IGNORECASE)
print(bool(pattern.match('Python Cheatsheet')))
True

Захватывающие группы

Скобки захватывают часть совпадения.

import re

match = re.search(r'(\w+)=(\d+)', 'count=42')
print(match.group(1))
print(match.group(2))
count
42

Обработка отсутствия совпадения

Всегда проверяйте, существует ли совпадение, прежде чем вызывать group().

import re

match = re.search(r'\d+', 'no number here')
if match:
    print(match.group())
else:
    print('No match')
No match

Ссылки по теме