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