Шпаргалка по регэкспам

Краткий справочник по синтаксису регулярных выражений. Каждый токен с описанием и примером.

Якоря

ТокенЗначениеПример
^Начало строки (или строки с флагом m)^Hello
$Конец строки (или строки с флагом m)world$
\bГраница слова\bcat\b
\BНе граница слова\Bcat

Символьные классы

ТокенЗначениеПример
.Любой символ, кроме перевода строкиa.c
\dЛюбая цифра, 0–9\d\d
\DЛюбой нецифровой символ\D+
\wЛюбой символ слова (a–z, A–Z, 0–9, _)\w+
\WЛюбой символ, не являющийся символом слова\W
\sЛюбой пробельный символa\sb
\SЛюбой непробельный символ\S+
[abc]Любой символ из набора[aeiou]
[^abc]Любой символ, не входящий в набор[^0-9]
[a-z]Любой символ в диапазоне от a до z[A-Z]

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

ТокенЗначениеПример
*Ноль или больше вхождений предыдущего элементаab*
+Одно или больше вхождений предыдущего элементаab+
?Ноль или одно вхождение (необязательный элемент)ab?
{n}Ровно n повторений предыдущего элемента\d{4}
{n,}Не менее n повторений предыдущего элемента\d{2,}
{n,m}От n до m повторений предыдущего элемента\d{2,4}
*?Ленивая квантификация — совпасть с минимально возможным количеством<.*?>

Группы и просмотр

ТокенЗначениеПример
(abc)Группа захвата(\d+)
(?:abc)Незахватывающая группа(?:ab)+
(?<name>)Именованная группа захвата(?<year>\d{4})
a|bАльтернатива — a или bcat|dog
(?=abc)Положительный просмотр вперёд\d(?=px)
(?!abc)Отрицательный просмотр вперёд\d(?!px)
(?<=abc)Положительный просмотр назад(?<=\$)\d+
(?<!abc)Отрицательный просмотр назад(?<!\$)\d+
\1Обратная ссылка на группу 1(\w)\1

Спецсимволы и экранирование

ТокенЗначениеПример
\.Буквальная точка (экранирование спецсимволов)3\.14
\uXXXXСимвол Unicode по кодуé

Флаги

ТокенЗначениеПример
gGlobal — находить все совпадения/\d+/g
iРегистронезависимое сопоставление/abc/i
mMultiline — ^ и $ учитывают переводы строк/^x/m
sDotall — . также сопоставляет переводы строк/a.b/s
uРежим Unicode/\u{1F600}/u
ySticky — искать только от lastIndex/\d/y

Попробуйте сами

Перейдите в тестер, чтобы поэкспериментировать с любым из этих токенов вживую.

Открыть тестер регулярок