このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
RegExp.lastMatch ($&)
非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
メモ:グローバルに最後の一致状態を公開するRegExp の静的プロパティは、すべて非推奨です。詳しくは非推奨の RegExp 機能を参照してください。
RegExp.lastMatch は静的アクセサープロパティで、最後に一致した部分文字列を返します。RegExp["$&"] はこのプロパティの別名です。
In this article
解説
lastMatch はRegExp の静的プロパティです。個々の正規表現オブジェクトのプロパティではありません。そのかわりに、常に、RegExp.lastMatch またはRegExp["$&"] として使用してください。
lastMatch の値はRegExp インスタンス(RegExp のサブクラスではない)が一致するたびに更新されます。照合がない場合、lastMatch は空文字列になります。lastMatch の設定アクセサーはundefined なので、このプロパティを直接変更することはできません。
ドットプロパティアクセサー (RegExp.$&) で短縮形式の別名を使用することはできません。その場合、パーサーは& という表現を期待してSyntaxError が発生します。プロパティへのアクセスにはブラケット記法を使用してください。
$& をString.prototype.replace() の置換文字列内で使用することもできますが、古いRegExp["$&"] プロパティには関係しません。
例
>lastMatch と $& の使用
const re = /hi/g;re.test("hi there!");RegExp.lastMatch; // "hi"RegExp["$&"]; // "hi"仕様書
| Specification |
|---|
| Legacy RegExp features> # additional-properties-of-the-regexp-constructor> |