[abc] # a, b или c[a-z] # любая строчная буква[A-Z] # любая заглавная[0-9] # любая цифра[a-zA-Z] # любая буква[^abc] # НЕ a, b, c[a-z&&[^bc]] # a-z, кроме b и c (Java)
(foo|bar) # группа: foo или bar(?:foo|bar) # не-захватывающая группа (для | без захвата)\1 # обратная ссылка на группу 1(?<name>pattern) # именованная группа\k<name> # ссылка на именованную группу
Lookahead и Lookbehind (просмотр вперёд/назад)
Синтаксис
Значение
X(?=Y)
X, за которым следует Y (positive lookahead)
X(?!Y)
X, за которым НЕ следует Y (negative lookahead)
(?<=Y)X
X, перед которым Y (positive lookbehind)
(?<!Y)X
X, перед которым НЕ Y (negative lookbehind)
Примеры:
\d+(?=\.) # число, за которым точка (не захватывая точку)(?<=\$)\d+ # число после знака доллара\b(?!un)\w+ # слово, не начинающееся с "un"
Часто используемые шаблоны
# Email (базовый)^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$# URL^https?://[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!$&'()*+,;=.]+$# IPv4^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$# Телефон (российский)^(\+7|8)?[\s\-]?\(?\d{3}\)?[\s\-]?\d{3}[\s\-]?\d{2}[\s\-]?\d{2}$# Дата (DD.MM.YYYY)^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.\d{4}$# Пароль (минимум 8 символов, буква + цифра)^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$# HTML-тег<\/?[a-z][\s\S]*?># CSS-цвет hex^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$# ИНН (российский, 10 или 12 цифр)^\d{10}(\d{2})?$# UUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$# Пустая строка^$# Комментарий (// до конца строки)\/\/.*$# Строка в кавычках"([^"\\]|\\.)*"'(?:[^'\\]|\\.)*'# Несколько пробелов → один\s{2,}
Флаги
Флаг
Значение
i
Игнорировать регистр
g
Глобальный поиск (все совпадения, не только первое)
m
Многострочный (^ и $ — начало/конец строки, а не текста)
Шпаргалка по Python: от основ до профиПолная шпаргалка по Python: синтаксис, коллекции, даты, файлы, память, itertools, ООП, исключения, декораторы, итераторы, регулярные выражения. С примерами от простого к сложному.
Шпаргалка Docker: команды, Dockerfile, ComposeШпаргалка Docker: основные команды, Dockerfile, docker-compose, работа с образами, контейнерами, томами и сетями. Продвинутые сценарии и типовые ошибки.
Шпаргалка Linux: основные командыШпаргалка по Linux: основные команды терминала. Работа с файлами, правами, процессами, сетью, grep, sed, find. Для начинающих и опытных пользователей.
Шпаргалка по curlШпаргалка по curl: основные опции, HTTP-методы, работа с JSON, SSL, загрузка файлов, аутентификация, скрипты и отладка API.
Шпаргалка по GitПолная шпаргалка по Git: основные команды, ветки, слияние, откат, решение конфликтов, правила хорошего тона, продвинутое логирование и стандарты оформления коммитов.