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

На этой странице представлена шпаргалка по регулярным выражениям Python, к которой вы можете быстро обратиться при работе с регулярными выражениями.

Содержание

Наборы символов

Шаблон Значение
\w Сопоставление символов одного слова az, AZ, 0–9 и подчеркивания(_)
\d Сопоставляет одну цифру 0-9
\s Сопоставление пробелов, включая \t, \n и \r, а также символ пробела
. Соответствует любому символу, кроме новой строки
\W Сопоставить символ, кроме символа слова
\D Сопоставить символ, кроме цифры
\S Соответствует одному символу, кроме символа пробела

Якоря

Шаблон Значение
^ Совпадение в начале строки
$ Совпадение в конце строки
\b Сопоставить позицию, определенную как граница слова
\B Соответствие позиции, которая не является границей слова

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

Кванторы(жадные) Нежадные квантификаторы(ленивые) Значение
* *? Сопоставьте предыдущий элемент ноль или более раз.
+ +? Сопоставьте предыдущий элемент один или несколько раз.
? ?? Сопоставьте предшествующий элемент ноль или один раз.
{n} {n}? Сопоставьте предыдущий элемент ровно n раз.
{n, } {n,}? Сопоставьте предыдущий элемент не менее n раз.
{n, m} {n, m}? Сопоставьте предыдущий элемент от n до m раз.

Наборы и диапазоны

Шаблон Значение
[XYZ] Сопоставьте любой из трех элементов X, Y и Z.
[X-Y] Соответствие диапазону от X до Y.
^[XYZ] Соответствует любому отдельному элементу, кроме X, Y и Z.
^[X-Y] Сопоставьте любой отдельный элемент.
{n, } Сопоставьте предыдущий элемент не менее n раз.
{n, m} Сопоставьте предыдущий элемент от n до m раз.

Группы захвата

Шаблон Значение
(X) Захват X в группе
(?P<name>X) Захватите X и присвойте ему имя
\N Ссылка на группу захвата #N
\g<N> Ссылка на группу захвата #N(альтернативный синтаксис)

Чередование

Шаблон Значение
Х | Y Сопоставьте X или Y

Look Around

Шаблон Значение
Х(?=Y) Соответствует X, но только если за ним следует Y
Х(?!Y) Соответствует X, но только если за ним НЕ следует Y
(?<=Y)X Сопоставьте X, если перед ним стоит Y
(?<!Y)X Соответствует X, если перед ним НЕТ Y.

Функции регулярных выражений

В следующей таблице показана функции регулярного выражения из модуля re.

Функция Описание
findall() Вернуть список совпадений или None
finditer() Возвращает итератор, возвращающий все непересекающиеся совпадения
search() Вернуть первое совпадение
fullmatch() Возвращает объект Match, если вся строка соответствует шаблону.
match() Вернуть совпадение в начале строки или None
sub() Вернуть строку с совпадающей заменой
split() Разделить строку при совпадении

Флаги регулярных выражений

Флаг Псевдоним Встроенный флаг Значение
re.ASCII re.A ?m re.ASCII относится только к шаблонам байтов. Это заставляет \w, \W,\b, \B, \d, \D и \S выполнять сопоставление только в формате ASCII вместо полного сопоставления в Юникоде.
re.DEBUG N/A N/A re.DEBUG показывает отладочную информацию скомпилированного шаблона.
re.IGNORECASE re.I ?i выполнить сопоставление без учета регистра. Это означает, что [AZ] также будет соответствовать строчным буквам.
re.LOCALE re.L ?L re.LOCALE относится только к шаблону байтов. Это делает совпадения \w, \W, \b, \B и регистрозависимыми от текущей локали. re.LOCALE несовместим с флагом re.ASCII.
re.MUTILINE re.M ?m re.MULTILINE находит совпадения ^ в начале строки и в начале каждой строки, а $ — в конце строки и в конце каждой строки.
re.DOTALL re.S ?s По умолчанию точка(.) соответствует любым символам, кроме символа новой строки. re.DOTALL делает точку(.) соответствующей всем символам, включая новую строку.
re.VERBOSE ре.X ?x Флаг re.VERBOSE позволяет визуально организовать шаблон в логические разделы и добавлять комментарии.

 

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *