группировка-с-именованными-захватами
Принудительное использование именованных групп захвата в регулярных выражениях
Некоторые проблемы, обнаруженные этим правилом, могут быть исправлены вручную с помощью предложений редактора.
Подробности правила
С появлением ECMAScript 2018 в регулярных выражениях можно использовать именованные группы захвата, что повышает их читабельность. Это правило направлено на использование именованных групп захвата вместо пронумерованных в регулярных выражениях:
const regex = /(?<year>[0-9]{4})/;
Если ваша цель — не захват результатов, а только выражение альтернативы, используйте незахватывающую группу:
const regex = /(?:cauli|sun)flower/;
Примеры неправильного кода для этого правила:
/*eslint prefer-named-capture-group: "error"*/
const foo = ;
const bar = ;
const baz = ;
foo.exec('bar')[1]; // Retrieve the group result.
Примеры правильного кода для этого правила:
/*eslint prefer-named-capture-group: "error"*/
const foo = /(?<id>ba[rz])/;
const bar = new RegExp('(?<id>ba[rz])');
const baz = RegExp('(?<id>ba[rz])');
const xyz = /xyz(?:zy|abc)/;
foo.exec('bar').groups.id; // Retrieve the group result.
Когда не использовать
Если вы ориентируетесь на ECMAScript 2017 и/или более старые среды, не используйте это правило, так как эта функция ECMAScript поддерживается только в ECMAScript 2018 и более новых средах.
Связанные правила
Версия
Это правило было добавлено в ESLint v5.15.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/prefer-named-capture-group