Шпаргалка

Регулярные выражения на пальцах.

Базовые обозначения regex для JavaScript / TypeScript. Метасимволы, квантификаторы, классы, якоря — всё в одном месте, чтобы не держать в голове.

Открыть конструктор →
7

метасимвола

Классы символов: \d, \w, \s и их отрицания.

6

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

Сколько раз повторяется предыдущий элемент.

4

якоря

Позиции в строке, а не символы.

^…$

валидация

Проверяем строку целиком.

Классы символов

Метасимволы

Правило: маленькая буква — категория, БОЛЬШАЯ — её отрицание.

ЗначокЧто обозначаетПример
.любой символ (кроме переноса строки)«a», «5», «!»
\dцифра 0–9«7»
\DНЕ цифра«a», «!»
\wбуква / цифра / _ (только латиница!)«a», «5», «_»
\WНЕ словесный символ«!», « »
\sпробел / таб / перенос строки« »
\SНЕ пробельный«a»
Сколько раз

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

Правило: квантификатор относится к тому, что стоит прямо перед ним.

ЗначокСколько разОбязателен?
+один или большеда
*ноль или большенет
?ноль или одиннет
{3}ровно 3да
{2,4}от 2 до 4да
{2,}2 и большеда
Свои наборы

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

Правило: весь класс [...] совпадает с ОДНИМ символом строки.

ЗначокЧто обозначаетПример
[abc]один из: a, b, c«b»
[a-z]диапазон (любая строчная латиница)«g»
[а-яё]русские строчные (+ё вручную)«ж»
[^abc]любой КРОМЕ a, b, c«x»
[0-9]то же что \d«5»
Позиции, не символы

Якоря

Правило: ^…$ = проверяем строку целиком (главное для валидации).

ЗначокЧто обозначаетПример
^начало строки/^a/ → строка с «a» в начале
$конец строки/a$/ → строка с «a» в конце
\bграница слова/\bкот\b/ → «кот» целым словом
\BНЕ граница слова(нужен редко)
Выключаем магию

Экранирование

Правило: слэш \ перед спецсимволом делает его обычным символом.

\.буквальная точка
\?буквальный вопрос
\/буквальный слэш
\\буквальный обратный слэш
Один значок — два смысла

Коварные двойники

^

Смысл 1: начало строки (вне [])
Смысл 2: «кроме» (внутри [] первым)

-

Смысл 1: буквальный дефис (по краям [])
Смысл 2: диапазон (в середине [])

.

Смысл 1: любой символ (обычно)
Смысл 2: точка (внутри [] или с \)

Проверь сам

Погонять в консоли

Каждая строка — одна строчка таблицы. Вставляй в консоль браузера.

/./.test("!") // точка — любой символ
/\d/.test("7") // цифра
/\D/.test("a") // НЕ цифра
/a+/.test("aaa") // один и больше
/a?/.test("") // ноль или один
/[a-z]/.test("g") // диапазон
/[^0-9]/.test("x") // кроме
/^a/.test("abc") // начало
/a$/.test("cba") // конец
/\./.test("3.14") // буквальная точка
На главную →