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