【Node.js24.x】RegExp::$&プロパティの使い方
{name}プロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
$&プロパティは、直前の正規表現マッチング操作で完全に一致した部分文字列を保持するプロパティです。Node.jsを含むJavaScript環境において、RegExpオブジェクトの静的プロパティで、RegExp.$&としてアクセスします。
String.prototype.match()やRegExp.prototype.exec()などの正規表現メソッドが実行され、正規表現が文字列と一致した場合、その一致した全体の文字列がRegExp.$&に格納されます。一致しなかった場合はnullを保持します。
このプロパティはグローバルな性質を持つため、連続する正規表現マッチング操作によって、値が常に最新の結果で上書きされる点に注意が必要です。
現代のJavaScript開発では、RegExp.$&は非推奨とされており、通常はRegExp.prototype.exec()メソッドの戻り値である配列の0番目の要素(matchResult[0])を使用することが推奨されます。これは、グローバルな状態に依存しない、より明確な結果が得られるためです。しかし、既存のコードベースを理解する上では、このプロパティの役割を把握しておくことが重要です。
構文(syntax)
1const text = "Node.js programming is fun."; 2const pattern = /programming/; 3text.match(pattern); 4 5console.log(RegExp.$&);
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
$& プロパティは、正規表現のマッチングによって見つかった文字列全体を返します。