RegExp.input ($_)

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

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

RegExp.input は静的アクセサープロパティで、正規表現の一致した文字列を返します。RegExp.$_ はこのプロパティのエイリアスです。

解説

inputRegExp の静的静的プロパティですので、作成した RegExp オブジェクト野プロパティとしてではなく、常に RegExp.input または RegExp.$_ として使用してください。

input の値は RegExp インスタンス(ただし RegExp のサブクラスではない)が照合に成功するたびに更新されます。今まで一度も一致するものがなかった場合、 input は空文字列です。input に値を設定することはできますが、正規表現の他の動作には影響せず、値は次に行われた照合が成功した場合に再び上書きされます。

input と $_ の使用

js
const re = /hi/g;
re.test("hi there!");
RegExp.input; // "hi there!"
re.test("foo"); // 新しい検査、一致しない
RegExp.$_; // "hi there!"
re.test("hi world!"); // 新しい検査、一致する
RegExp.$_; // "hi world!"

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報