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