Вебсправочник
Справочник JavaScript

Именованные группы регулярного выражения

Именованная группа позволяет обращаться к захваченному фрагменту через понятное имя, а не только числовой индекс.

Назначение

Именованная группа позволяет обращаться к захваченному фрагменту через понятное имя, а не только числовой индекс.

Как это работает

Синтаксис группы включает ?<name>, а результат доступен через groups у найденного совпадения. Если совпадения нет, exec возвращает null, поэтому доступ к groups требует проверки.

Пример

const pattern=/^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/;
const match=pattern.exec("2026-08-30");
console.assert(match.groups.year==="2026");
console.assert(pattern.exec("30/08/2026")===null);

Что должно получиться

Год доступен по имени year, а строка с другим разделителем не совпадает. Пример намеренно не объявляет строку проверенной календарной датой.

Граница применения и частая ошибка

Совпадение с шаблоном даты не доказывает существование такой календарной даты. Регулярное выражение проверяет форму записи, а диапазоны и календарные правила нужно проверить отдельно.

Самостоятельная проверка

Разберите строку вида YYYY-MM-DD и неверно оформленную строку. Затем попробуйте дату 2026-99-99 и объясните, почему одной формы недостаточно для валидации.

JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.