Статья Автор: Деникина Н.В., Деникин А.В.

Шпаргалка по регулярным выражениям

01 Метасимволы

Символ Значение
. Любой символ (кроме \n)
\d Цифра [0-9]
\D НЕ цифра
\w Буква, цифра или _ (word)
\W НЕ буква/цифра/_
\s Пробельный символ
\S НЕ пробельный

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

Жадный Ленивый Значение
+ +? 1 или больше
* *? 0 или больше
? ?? 0 или 1
{n}   Ровно n раз
{n,} {n,}? n или больше
{n,m} {n,m}? От n до m

03 Классы символов

Синтаксис Значение
[ABC] Один из: A, B, C
[A-Z] Диапазон: от A до Z
[a-z] Строчные буквы
[0-9] Цифры (= \d)
[A-Za-z] Все латинские буквы
[А-Яа-яЁё] Русские буквы
[^ABC] НЕ A, НЕ B, НЕ C

04 Якоря

Якорь Значение
^ Начало строки
$ Конец строки
\b Граница слова
\B НЕ граница слова

05 Группы и альтернативы

Синтаксис Значение
(ABC) Группа с захватом
(?:ABC) Группа БЕЗ захвата
A|B A или B
\1, \2 Обратная ссылка на группу

06 Функции Python

Функция Возвращает
re.findall(p, s) Список всех совпадений
re.search(p, s) Первое совпадение (Match/None)
re.match(p, s) Совпадение в начале
re.fullmatch(p, s) Вся строка соответствует
re.sub(p, r, s) Замена всех совпадений
re.split(p, s) Разбиение по паттерну
re.finditer(p, s) Итератор Match-объектов

07 Паттерны ЕГЭ

Задача Паттерн
Цепочка из X X+
Цепочка из X или Y [XY]+
Цепочка НЕ из X [^X]+
Повторение XY (полное) (?:XY)+
Повторение XY (с неполным) (?:XY)+X?
Повторение ABC (с неполным) (?:ABC)+(?:AB?)?
Любое число \d+
Число из N цифр \d{N}
Ровно N символов между X и Y X.{N}Y
Между X и Y (ленивый) X.+?Y

08 Универсальный тестер

Песочница
Текст
Паттерн
 
 
Печать