RegExp.$1, …, RegExp.$9
非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
メモ: グローバルに最後の一致状態を公開する RegExp
の静的プロパティは、すべて非推奨です。詳しくは非推奨の RegExp 機能を参照してください。
RegExp.$1, …, RegExp.$9
は静的アクセサープロパティで、括弧で括られた部分文字列に一致したものを返します。
解説
$1
–$9
は RegExp
の静的プロパティであり、常に RegExp.$1
, RegExp.$2
, のように扱います。作成した RegExp
オブジェクトのプロパティとしては使用できません。
$1, …, $9
の値は RegExp
の(ただし RegExp
のサブクラスではない)インスタンスが一致に成功するたびに更新されます。一致したものがなかったか、最後に一致したものに対応するキャプチャグループがなかった場合、それぞれのプロパティは空文字列になります。それぞれのプロパティの設定アクセサーは undefined
ですので、直接プロパティを変更することはできません。
括弧で括られた部分文字列の数に制限はありませんが、 RegExp
オブジェクトは最初の 9 つの部分文字列しか保持できません。返された配列のインデックスを使用すると、すべての括弧付き部分文字列にアクセスすることができます。
$1, …, $9
は String.prototype.replace()
メソッドの置換テキストでも使用することができますが、古い RegExp.$n
には関係しません。
例
$n と RegExp.prototype.test() の使用
仕様書
Specification |
---|
Legacy RegExp features # additional-properties-of-the-regexp-constructor |
ブラウザーの互換性
BCD tables only load in the browser