【Node.js24.x】RegExp::lastMatchプロパティの使い方
lastMatchプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lastMatchプロパティは、RegExpクラスの静的プロパティで、直前の正規表現マッチングにおいて完全に一致した部分文字列全体を保持するプロパティです。
このプロパティの値は、RegExpオブジェクトのexec()やtest()メソッド、または文字列のmatch()、replace()、search()メソッドが正規表現を引数として使用され、マッチングが成功した場合に更新されます。具体的には、正規表現パターンに一致した文字列全体がそのまま格納されます。例えば、正規表現/a(b)c/が文字列abcにマッチした場合、lastMatchにはabcという文字列が保持されます。これは、最後に成功した正規表現マッチングの全体結果を簡潔に参照する際に役立ちます。
lastMatchはRegExpクラスの静的プロパティであり、最後に成功したマッチングの結果をグローバルに保持します。そのため、複数の正規表現による連続したマッチングや非同期処理では、値が上書きされる可能性があるため注意が必要です。個別のマッチング結果を確実に取得するには、RegExp.prototype.exec()メソッドの戻り値など、より局所的な方法を利用することが推奨されます。Node.js v24環境においても同様の挙動を示します。
構文(syntax)
1const regex = /apple (pie)/; 2const text = "I like apple pie and apple juice."; 3regex.test(text); 4console.log(RegExp.lastMatch);
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
RegExp オブジェクトの lastMatch プロパティは、直近の正規表現マッチング操作で検出された文字列を返します。