RegExp.lastMatch ($&)

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

標準外の lastMatch プロパティは、最後に一致した文字列を含む正規表現の静的で読み取り専用のプロパティです。 RegExp.$& はこのプロパティに対するエイリアスです。

解説

lastMatch プロパティは静的プロパティです。個々の正規表現オブジェクトのプロパティではありません。そのかわりに、常に、RegExp.lastMatchまたはRegExp['$&'].として使用してください。

lastMatch プロパティの値は、読み取り専用で、一致に成功するたびに変更されます。

ドットプロパティアクセサー (RegExp.$&) で短縮エイリアスを使用することはできません。その場合、パーサーは "&" という表現を期待して SyntaxError が発生します。プロパティへのアクセスにはブラケット表記法を使用してください。

lastMatch と $& の使用

var re = /hi/g;
re.test('hi there!');
RegExp.lastMatch; // "hi"
RegExp['$&'];     // "hi"

仕様書

Specification
Legacy RegExp features
# additional-properties-of-the-regexp-constructor

ブラウザーの互換性

BCD tables only load in the browser

関連情報