eslint/no-invalid-regexp 正しさ
何をすることか
RegExp コンストラクタ内の無効な正規表現文字列を禁止します。
なぜ問題なのか
正規表現リテラル内に無効なパターンがある場合、コードが解析される時点で SyntaxError になりますが、RegExp コンストラクタ内の無効な文字列は、コードが実行されるまで SyntaxError にならないため、実行時エラーの原因となります。
例
このルールに関して誤りなコードの例:
js
RegExp("[");
RegExp(".", "z");
new RegExp("\\");このルールに関して正しいコードの例:
js
RegExp(".");
new RegExp();
this.RegExp("[");設定
このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。
allowConstructorFlags
type: string[]
default: []
許可されるフラグの区別大文字小文字の配列です。
使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"no-invalid-regexp": "error"
}
}bash
oxlint --deny no-invalid-regexp