⚡ Краткий справочник
re.search, re.match, re.findall, re.finditer, re.sub, re.split.
\d \w \s . ^ $ \b, классы [...], квантификаторы + * ? {n,m}.
re.I, re.S, re.M; re.compile для повторного использования.
Основные функции
| Функция | Что делает | Возвращает |
re.search(p, s, flags=0) | Первое совпадение шаблона в строке | Match или None |
re.match(p, s, flags=0) | Совпадение только в начале строки | Match или None |
re.findall(p, s, flags=0) | Все совпадения | list[str] |
re.finditer(p, s, flags=0) | Все совпадения как объекты Match | итератор |
re.sub(p, repl, s, count=0, flags=0) | Заменяет совпадения на repl | новая строка |
re.split(p, s, maxsplit=0, flags=0) | Разделяет строку по шаблону | list[str] |
re.compile(p, flags=0) | Компилирует шаблон для повторного использования | Pattern |
Методы объекта Match
| Метод/атрибут | Описание |
.group() | Всё совпадение |
.group(n) | Совпадение n-й группы |
.start() | Индекс начала совпадения |
.end() | Индекс конца совпадения |
.span() | Кортеж (start, end) |
Специальные символы
| Символ | Значение |
\d | Цифра |
\D | Не цифра |
\w | Буква, цифра или _ |
\W | Не \w |
\s | Пробел, табуляция, перевод строки |
\S | Не пробельный символ |
. | Любой символ, кроме \n |
^ | Начало строки |
$ | Конец строки |
\b | Граница слова |
\B | Не граница слова |
Квантификаторы
| Квантификатор | Значение |
+ | Один и более |
* | Ноль и более |
? | Ноль или один |
{n} | Ровно n |
{n,} | n и более |
{n,m} | От n до m |
*?, +?, {n,m}? | Ленивые версии |
Флаги
| Флаг | Алиас | Действие |
re.IGNORECASE | re.I | Регистронезависимый поиск |
re.DOTALL | re.S | Точка совпадает с переводом строки |
re.MULTILINE | re.M | ^ и $ для каждой строки |
Методы скомпилированного шаблона
После pattern = re.compile(r"...") доступны те же методы без первого аргумента:
pattern.search(string), pattern.match(string), pattern.findall(string)
pattern.finditer(string), pattern.split(string), pattern.sub(repl, string)