RegExp
Регулярное выражение — шаблон для поиска и замены текста.
Доступно с: ES3
Синтаксис
new RegExp(pattern, flags)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| pattern | string | Шаблон регулярного выражения. |
| flags | string | Необязательный. Флаги: g, i, m, s, u, y, d, v. |
Возвращаемое значение
RegExpОбъект регулярного выражения.
Примеры
Литерал между косыми чертами:
const digits = /\d+/;
console.log(digits.test('Order 42'));Результат:
trueШаблон из строки — когда его часть берётся из переменной:
const word = 'cat';
const regex = new RegExp(`\\b${word}\\b`, 'i');
console.log(regex.test('The Cat sleeps'));
console.log(regex.source);Результат:
true
\bcat\bОсновные обозначения:
console.log('a1 b22 c'.match(/\d/g).join(','));
console.log('hello world'.match(/\w+/g).join(','));
console.log('2026-03-15'.replace(/(\d+)-(\d+)-(\d+)/, '$3.$2.$1'));Результат:
1,2,2
hello,world
15.03.2026Примечания
Часто нужные обозначения: \d — цифра, \w — буква, цифра или подчёркивание, \s — пробельный символ, . — любой символ, + — один или больше раз, * — ноль или больше, ? — необязательно, ^ и $ — начало и конец строки, круглые скобки — группа.
В строке для new RegExp() обратный слеш нужно удваивать: '\\d+'. Литерал /\d+/ этого не требует.
См. также
- RegExp.prototype.test — Проверяет, есть ли в строке совпадение с шаблоном.
- RegExp flags — Флаги меняют поведение поиска: g — все совпадения, i — без учёта регистра и другие.
- String.prototype.match — Ищет совпадения с регулярным выражением.
- String.prototype.replace — Заменяет первое совпадение (или все — с флагом g у регулярного выражения).
В учебнике
- Регулярные выражения — Регулярные выражения в JavaScript для начинающих: шаблоны, флаги, классы символов, проверка, поиск и замена текста.