【Node.js24.x】RegExp::$7プロパティの使い方
$7プロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
RegExp.$7プロパティは、正規表現のマッチングにおいて、7番目のキャプチャグループが捕捉した文字列を保持するプロパティです。このプロパティはRegExpオブジェクトの静的プロパティであり、RegExp.prototype.exec()メソッドやString.prototype.match()メソッドなど、正規表現によるパターンマッチングが成功した直後に自動的にその値が更新されます。
キャプチャグループとは、正規表現内で括弧 () を使用して定義された部分を指し、マッチした文字列全体の中から特定の部分を抽出するために利用されます。RegExp.$7は、左から数えて7番目の括弧に対応する部分が正規表現にマッチした内容を保持します。例えば、(first)(second)(third)(fourth)(fifth)(sixth)(seventh)のような正規表現で文字列を検索した場合、7番目の括弧にマッチした「seventh」の部分がRegExp.$7に設定されます。
同様にRegExp.$1からRegExp.$9までのプロパティが存在し、それぞれ1番目から9番目までのキャプチャグループの値を保持します。
このプロパティは新しい正規表現のマッチ操作が実行されるたびに値が上書きされるため、常に直前のマッチング結果を反映します。マッチングに失敗した場合や、正規表現に7番目のキャプチャグループが存在しなかった場合は、undefinedが設定されます。正規表現を使用して文字列から特定の情報の一部を効率的に抽出し、その結果をプログラム内で利用したい場合に役立ちます。
構文(syntax)
1const inputString = "date-2024-12-31-time-23-59-59"; 2const regex = /(\w+)-(\d+)-(\d+)-(\d+)-(\w+)-(\d+)-(\d+)-(\d+)/; 3inputString.match(regex); 4console.log(RegExp.$7);
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
$7プロパティは、正規表現のexec()メソッドやmatch()メソッドが、キャプチャグループにマッチした文字列を返します。