🔖 Справочник команд и синтаксиса

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

  • re.findall(r"\d+", text) — найти все числа.
  • re.sub(r"\s+,\s+", ", ", text) — нормализовать пробелы вокруг запятой.
  • re.split(r"[;,\s]+", text) — разбить по нескольким разделителям.
  • nonlocal name — изменить переменную внешней функции.
  • func.__closure__ — кортеж ячеек захваченных переменных.

Функции модуля re

ФункцияЧто делаетПример
re.search(p, s)Первое совпадение в любой части строки; возвращает Matchre.search(r"\d+", "a1b2")
re.match(p, s)Совпадение только в начале строкиre.match(r"\d+", "123abc")
re.findall(p, s)Список всех совпаденийre.findall(r"\d+", "a1b2")
re.finditer(p, s)Итератор Match для всех совпаденийfor m in re.finditer(r"\d+", s):
re.sub(p, repl, s)Заменить совпаденияre.sub(r"\d+", "#", "a1b2")
re.split(p, s)Разделить строку по шаблонуre.split(r"[,;]", "a,b;c")
re.compile(p)Скомпилировать шаблонpattern = re.compile(r"\d+")

Специальные символы регулярных выражений

СимволЗначениеПример
\dЦифраr"\d+"
\DНе цифраr"\D+"
\wСловесный символr"\w+"
\WНе словесный символr"\W+"
\sПробелr"\s+"
\SНе пробелr"\S+"
.Любой символ, кроме \nr"a.b"
^Начало строкиr"^Start"
$Конец строкиr"end$"
\bГраница словаr"\bword\b"
\BНе граница словаr"\B\d+\B"

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

ЗаписьЗначениеПример
+1 и болееr"\d+"
*0 и болееr"report\d*.txt"
?0 или 1r"report\d?.txt"
{n}Ровно nr"\d{3}"
{n,}n и болееr"ID\d{2,}"
{n,m}От n до mr"\d{1,3}"
*?, +?, {n,m}?Ленивые версииr"<.*?>"

Флаги

ФлагЗначение
re.IGNORECASE / re.IРегистронезависимый поиск
re.MULTILINE / re.M^ и $ работают для каждой строки
re.DOTALL / re.SТочка . совпадает и с \n

Ключевые слова Python

Ключевое словоОписаниеПример
nonlocalСвязать имя с ближайшей внешней функциейnonlocal count
globalСвязать имя с глобальной областьюglobal total
lambdaАнонимная функцияlambda x: x * 2

Атрибуты функций

АтрибутОписаниеПример
func.__name__Имя функции'multiplier'
func.__doc__Строка документации'Factory function.'
func.__closure__Кортеж ячеек замыкания или None(<cell at ...>,)
cell.cell_contentsЗначение в ячейке замыканияcell.cell_contents

Стандартная библиотека

Функция/классОписаниеПример
functools.partial(func, *args, **kwargs)Фиксирует часть аргументов функцииpartial(round, ndigits=2)
pathlib.PathОбъектно-ориентированная работа с путямиPath("data/file.txt")

Правила использования

  • Регулярные выражения всегда пишите в сырых строках r"...", чтобы избежать двойного экранирования.
  • Если один шаблон используется много раз, скомпилируйте его через re.compile.
  • nonlocal поднимается только до ближайшей внешней функции, не до глобальной области.
  • Если переменная только читается, nonlocal не нужен.
  • Замыкание «живёт», пока живёт возвращённая внутренняя функция.
Проверить по документации: полный список синтаксиса регулярных выражений — в документации re.