🔖 Справочник: модуль re

⚡ Краткий справочник

  • re.search, re.match, re.findall, re.finditer, re.sub, re.split.
  • \d \w \s . ^ $ \b, классы [...], квантификаторы + * ? {n,m}.
  • re.I, re.S, re.M; re.compile для повторного использования.

Основные функции

ФункцияЧто делаетВозвращает
re.search(p, s, flags=0)Первое совпадение шаблона в строкеMatch или None
re.match(p, s, flags=0)Совпадение только в начале строкиMatch или None
re.findall(p, s, flags=0)Все совпаденияlist[str]
re.finditer(p, s, flags=0)Все совпадения как объекты Matchитератор
re.sub(p, repl, s, count=0, flags=0)Заменяет совпадения на replновая строка
re.split(p, s, maxsplit=0, flags=0)Разделяет строку по шаблонуlist[str]
re.compile(p, flags=0)Компилирует шаблон для повторного использованияPattern

Методы объекта Match

Метод/атрибутОписание
.group()Всё совпадение
.group(n)Совпадение n-й группы
.start()Индекс начала совпадения
.end()Индекс конца совпадения
.span()Кортеж (start, end)

Специальные символы

СимволЗначение
\dЦифра
\DНе цифра
\wБуква, цифра или _
\WНе \w
\sПробел, табуляция, перевод строки
\SНе пробельный символ
.Любой символ, кроме \n
^Начало строки
$Конец строки
\bГраница слова
\BНе граница слова

Квантификаторы

КвантификаторЗначение
+Один и более
*Ноль и более
?Ноль или один
{n}Ровно n
{n,}n и более
{n,m}От n до m
*?, +?, {n,m}?Ленивые версии

Флаги

ФлагАлиасДействие
re.IGNORECASEre.IРегистронезависимый поиск
re.DOTALLre.SТочка совпадает с переводом строки
re.MULTILINEre.M^ и $ для каждой строки

Методы скомпилированного шаблона

После pattern = re.compile(r"...") доступны те же методы без первого аргумента:

  • pattern.search(string), pattern.match(string), pattern.findall(string)
  • pattern.finditer(string), pattern.split(string), pattern.sub(repl, string)