RegExp.rightContext ($')

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

メモ: グローバルに最後の一致状態を公開する RegExp の静的プロパティは、すべて非推奨です。詳しくは非推奨の RegExp 機能を参照してください。

RegExp.rightContext は静的アクセサープロパティで、最新の一致に続く部分文字列が入ります。RegExp["$'"] はこのプロパティの別名です。

解説

rightContextRegExp の静的プロパティですので、作成した RegExp オブジェクトのプロパティとしてではなく、常に RegExp.rightContext または RegExp["$'"] として使用してください。

rightContext の値は RegExp の(ただし RegExp のサブクラスではない)インスタンスが照合に成功するたびに更新されます。照合が行われていない場合、または直近の正規表現にキャプチャグループが格納されていない場合、rightContext は空文字列になります。rightContext の設定アクセサーは undefined なので、このプロパティを直接変更することはできません。

ドットプロパティアクセサー (RegExp.$') で短縮エイリアスを使用することはできません。' は識別子の一部として有効ではないので、SyntaxError が発生します。代わりにブラケット記法を使用してください。

$'String.prototype.replace() の置換文字列でも使用できますが、RegExp["$'"] の古いプロパティとは関係ありません。

rightContext と $' の使用

js
const re = /hello/g;
re.test("hello world!");
RegExp.rightContext; // " world!"
RegExp["$'"]; // " world!"

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報