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

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

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

作成日: 更新日:

基本的な使い方

$4プロパティは、直前の正規表現マッチング操作によって4番目にキャプチャされた部分文字列を保持するプロパティです。これはRegExpコンストラクタに直接紐づく静的なプロパティであり、特定の正規表現オブジェクトのインスタンスに属するものではなく、Node.jsアプリケーション全体で共有されるグローバルな正規表現の状態を反映します。

例えば、ある文字列に対してRegExp.prototype.exec()メソッドやString.prototype.match()メソッドを実行し、正規表現パターンに複数のキャプチャグループ(丸括弧()で囲まれた部分)が含まれている場合、そのマッチング結果に基づいてRegExp.$4に値が設定されます。このプロパティは、パターン内で定義された4番目のキャプチャグループに一致したテキストを保持します。

具体的には、正規表現/(\w+)-(\d+)-(\w+)-(\w+)/を文字列「hello-123-world-nodejs」に適用し、マッチが成功した場合、RegExp.$4は「nodejs」という文字列を保持します。この値は、マッチング操作が完了した直後にアクセスすることで取得できます。

もし、直前のマッチング操作が成功しなかった場合や、正規表現パターンに4番目のキャプチャグループ自体が存在しない場合、RegExp.$4プロパティはundefinedを保持します。また、新しい正規表現マッチング操作が実行されるたびに、このプロパティの値は最新のマッチング結果で上書きされるため、複数のマッチング処理を連続して行う際には注意が必要です。このプロパティは、正規表現で特定の情報を効率的に抽出する際に役立ちます。

構文(syntax)

1const str = "apple banana cherry date";
2const regex = /(apple) (banana) (cherry) (date)/;
3regex.exec(str);
4
5console.log(RegExp.$4);

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RegExp.prototype.$4プロパティは、正規表現の検索において、4番目のキャプチャグループにマッチした文字列を返します。

関連コンテンツ

関連プログラミング言語