no-invalid-regexp
Запрет некорректных строк регулярных выражений в конструкторах RegExp
Использование конфигурации recommended из @eslint/js в файле конфигурации активирует это правило
Неверный шаблон в литерале регулярного выражения является SyntaxError, когда код парсится, но неверная строка в конструкторах RegExp выбрасывает SyntaxError, только когда код выполняется.
Подробное описание правила
Это правило запрещает некорректные строки регулярных выражений в конструкторах RegExp
Примеры некорректного кода для этого правила:
/*eslint no-invalid-regexp: "error"*/
Примеры корректного кода для этого правила:
/*eslint no-invalid-regexp: "error"*/
RegExp('.')
new RegExp
this.RegExp('[')
Обратите внимание, что это правило валидирует регулярные выражения согласно последней спецификации ECMAScript, независимо от настроек вашего парсера.
Если по какой-либо причине вы хотите разрешить дополнительные флаги конструктора, вы можете указать их с помощью параметра allowConstructorFlags. Эти флаги будут игнорироваться правилом.
Параметры
Это правило имеет параметр объекта для исключений:
-
"allowConstructorFlags"— это массив флагов, чувствительный к регистру
allowConstructorFlags
Примеры корректного кода для этого правила с параметром { "allowConstructorFlags": ["a", "z"] }:
/*eslint no-invalid-regexp: ["error", { "allowConstructorFlags": ["a", "z"] }]*/
new RegExp('.', 'a')
new RegExp('.', 'az')
Версия
Это правило было введено в ESLint v0.1.4.
Дополнительные материалы
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-invalid-regexp