【JavaScript ECMAScript】RegExp::RegExp.prototype.globalインスタンスアクセサプロパティの使い方
RegExp.prototype.globalインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
RegExp.prototype.globalプロパティは、正規表現が文字列内のすべての一致(マッチ)を対象としたグローバル検索を行うかどうかを示す真偽値(trueまたはfalse)を保持するプロパティです。
このプロパティの値は、正規表現オブジェクトが作成されたときに、正規表現リテラルに g フラグが指定されているかどうかに基づいて決まります。例えば、正規表現が /pattern/g のように g フラグを含んでいれば、global プロパティは true を返します。対照的に、/pattern/ のように g フラグがない正規表現の場合、global プロパティは false を返します。
グローバル検索が有効な正規表現は、String.prototype.matchAll() メソッドを使用する際や、RegExp.prototype.exec() メソッドを繰り返し呼び出して文字列内で見つかるすべての一致を順次取得する際に必要となります。このプロパティを確認することで、正規表現が文字列全体を対象としてマッチングを行う設定になっているかをプログラムで判別できます。これは、テキストデータから複数の情報を抽出したい場合など、意図した通りの検索動作が行われているかを理解し、適切に制御するために非常に重要な役割を果たします。
構文(syntax)
1const regexWithGlobalFlag = /test/g; 2console.log(regexWithGlobalFlag.global); 3 4const regexWithoutGlobalFlag = /test/; 5console.log(regexWithoutGlobalFlag.global);
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
RegExp.prototype.global は、正規表現オブジェクトがグローバル検索モードで作成されたかどうかを示す真偽値(Boolean)を返します。グローバル検索モードとは、文字列全体で一致するすべての箇所を検索するモードです。