На этой странице представлена шпаргалка по регулярным выражениям 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 позволяет визуально организовать шаблон в логические разделы и добавлять комментарии. |