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