メインコンテンツへスキップ

prefer-regexp-exec

グローバルフラグが提供されていない場合、String#match よりも RegExp#exec を強制します。

🔧

このルールによって報告される問題の一部は、 --fix ESLint コマンドラインオプションで自動的に修正可能です.

💭

このルールを実行するには 型情報 が必要です。

String#match は、正規表現に g フラグが含まれていない場合、RegExp#exec と同じように動作するように定義されています。2つのうちの1つを一貫して使用し続けることは、コードの可読性を向上させるのに役立ちます。

このルールは、String#match の呼び出しを同等の RegExp#exec で置き換えることができる場合に報告します。

RegExp#execString#match よりもわずかに高速である可能性もあります。これが、優先される使用法として選択する理由です。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/prefer-regexp-exec": "error"
}
};

プレイグラウンドでこのルールを試す ↗

'something'.match(/thing/);

'some things are just things'.match(/thing/);

const text = 'something';
const search = /thing/;
text.match(search);
プレイグラウンドで開く

オプション

このルールは設定できません。

いつ使用しないか

g フラグの有無にかかわらず、String#match の一貫した使用を好む場合は、このルールをオフにすることができます。


型チェックされた lint ルールは、従来の lint ルールよりも強力ですが、型チェックされた lint の構成も必要です。型チェックされたルールを有効にした後にパフォーマンスの低下が発生した場合は、パフォーマンスのトラブルシューティングを参照してください。

リソース