Named capture groups
Именованные группы — части совпадения с понятными именами.
Доступно с: ES2018
Синтаксис
(?<name>pattern)Примеры
Разбор даты по именам групп:
const match = '2026-03-15'.match(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/);
console.log(match.groups.year, match.groups.month, match.groups.day);Результат:
2026 03 15Имена групп в строке замены:
const date = '2026-03-15';
console.log(date.replace(/(?<y>\d+)-(?<m>\d+)-(?<d>\d+)/, '$<d>.$<m>.$<y>'));Результат:
15.03.2026Примечания
Объект groups есть у результата match(), exec() и matchAll(). Если группа не участвовала в совпадении, её значение — undefined.
См. также
- RegExp.prototype.exec — Ищет совпадение и возвращает подробности: группы и позицию.
- String.prototype.match — Ищет совпадения с регулярным выражением.
- String.prototype.replace — Заменяет первое совпадение (или все — с флагом g у регулярного выражения).
В учебнике
- Регулярные выражения — Регулярные выражения в JavaScript для начинающих: шаблоны, флаги, классы символов, проверка, поиск и замена текста.