【Node.js24.x】RegExp::$_プロパティの使い方
$_プロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
$_プロパティは、直前に正規表現マッチングが実行された元の文字列全体を保持するプロパティです。このプロパティは、JavaScriptの組み込みオブジェクトであるRegExpが持つ静的なプロパティの一つであり、RegExp.inputプロパティの別名(エイリアス)として、常に同じ値を参照します。
具体的には、正規表現オブジェクトのexec()やtest()メソッド、または文字列オブジェクトのmatch()、search()、replace()、split()といった正規表現を利用するメソッドが実行された直後に、その正規表現処理の対象となった入力文字列全体が自動的にこのプロパティに格納されます。
このプロパティを参照することで、直前の正規表現操作がどの文字列に対して行われたかを確認できます。例えば、複数の正規表現処理が連続して実行されるような場合に、以前の操作の対象となった文字列を後から確認する際に利用できます。しかし、$_プロパティはプログラム全体で共有されるグローバルな性質を持つため、新しい正規表現処理が実行されるたびにその値は上書きされる点に注意が必要です。現代のプログラミングにおいては、特定の正規表現オブジェクトやメソッドの戻り値を直接利用することが推奨される場面が増えていますが、古いコードや特定の状況でこのプロパティが使われていることがあります。
構文(syntax)
1"Hello Node.js".match(/Node.js/); 2console.log(RegExp.$_);
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
RegExp.$_ は、正規表現の直前のマッチ結果を表す文字列です。