Spec-Zone.ru › ESLint

no-invalid-regexp

Запрещает некорректные строки регулярных выражений в конструкторах RegExp

✅ Рекомендуемое

Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило

Некорректный шаблон в литерале регулярного выражения вызывает SyntaxError при разборе кода, но некорректная строка в конструкторах RegExp вызывает SyntaxError только при выполнении кода.

Подробности правила

Это правило запрещает некорректные строки регулярных выражений в конструкторах RegExp.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint no-invalid-regexp: "error"*/

RegExp('[')

RegExp('.', 'z')

new RegExp('\\')

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint no-invalid-regexp: "error"*/

RegExp('.')

new RegExp

this.RegExp('[')

Обратите внимание, что это правило проверяет регулярные выражения в соответствии с последней спецификацией ECMAScript независимо от настроек парсера.

Если по какой-либо причине вы хотите разрешить дополнительные флаги конструктора, укажите их с помощью параметра allowConstructorFlags. В этом случае правило будет игнорировать эти флаги.

Параметры

Это правило принимает объект с параметрами для исключений:

  • "allowConstructorFlags" — массив флагов с учетом регистра

allowConstructorFlags

Примеры правильного кода для этого правила с параметром { "allowConstructorFlags": ["a", "z"] }:

Открыть в Playground
/*eslint no-invalid-regexp: ["error", { "allowConstructorFlags": ["a", "z"] }]*/

new RegExp('.', 'a')

new RegExp('.', 'az')

Версия

Это правило появилось в ESLint v0.1.4.

Дополнительные материалы

Аннотированная спецификация ES5
es5.github.io

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-invalid-regexp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API