Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】RegExp::$6プロパティの使い方

$6プロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

$6プロパティは、最後に成功した正規表現のマッチ操作において、6番目の記憶グループ(キャプチャグループ)がマッチした部分文字列を保持するプロパティです。これはRegExpクラスの静的プロパティであり、RegExp.$6のように直接RegExpオブジェクトからアクセスして使用します。

正規表現において、特定のパターンを括弧()で囲むと、その括弧で囲まれた部分が「記憶グループ」として認識され、マッチした内容が個別に保存されます。RegExp.$1からRegExp.$9までのプロパティは、それぞれ正規表現パターン内で定義された1番目から9番目までの記憶グループにマッチした文字列を保持するために提供されています。したがって、$6プロパティは、正規表現パターンの中で6番目に現れる記憶グループが実際に捕らえた文字列を参照する際に利用されます。

このプロパティは、String.prototype.match()RegExp.prototype.exec()のような正規表現によるマッチ操作が成功するたびに、その最新の結果に基づいて自動的に更新されます。例えば、複雑なログデータやURL文字列から複数の特定の部分(日付の年、月、日など)を同時に抽出し、それぞれを個別のデータとして利用したい場合に非常に役立ちます。マッチングが成功しなかった場合、または6番目の記憶グループが存在しないかマッチしなかった場合は、空文字列''が保持されます。このプロパティはグローバルな性質を持つため、新たな正規表現のマッチ操作が行われると、以前の値は上書きされてしまう点に注意が必要です。

構文(syntax)

1const regex = /(\d+)-(\d+)-(\d+)-(\d+)-(\d+)-(\d+)/;
2const str = "Date: 2023-10-27-09-30-15";
3regex.test(str);
4console.log(RegExp.$6);

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RegExp.prototype.$6 は、正規表現マッチングでキャプチャされた6番目のグループに一致する文字列を返します。

関連コンテンツ

関連プログラミング言語