Регулярные выражения
Регекс — вечные скобки любого кода: валидация, парсинг, замена в редакторах и логи. Разбираем системно, чтобы не копировать «магию» из интернета.
Атомы и квантификаторы
// \d цифра, \w буква/цифра/_, . любой символ, \s пробел
/\d{3}-\d{2}-\d{4}/ // 123-45-6789
/colou?r/ // color | colour
/[A-Z]{2}[0-9]{4}/ // AB1234 (артикул)
/^https:\/\// // якорь начала ↑ привязка
Группы, захват и lookahead
const m = "22.05.2026".match(/(\d{2})\.(\d{2})\.(\d{4})/);
// m[1]="22" m[2]="05" m[3]="2026"
"(?:xyz)" // группа без захвата
"(?=...)"" // впереди есть, но не захватываем (lookahead)
"(?!...)" // впереди НЕТ (негативный)
💡
Меняйте, а не только находите:
"a|b|c".replace(/\|/g, ";"). Флаг g — все совпадения, i — регистронезависимо, s — точка ловит и перенос строки.ℹ️
Сложную валидацию (например, email/адрес) доверяйте библиотекам, а не гигантскому паттерну. Regex катастрофического отката (catastrophic backtracking) — способ положить CPU одним вводом.