Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】RegExp::RegExp.input ($_)静的アクセサプロパティの使い方

RegExp.input ($_)静的アクセサプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

RegExp.input ($_)プロパティは、JavaScriptにおいて最後に正規表現のマッチングが実行された元の文字列全体を保持するプロパティです。

このプロパティはRegExpオブジェクトに属する静的なプロパティであり、特定の正規表現オブジェクトのインスタンスではなく、JavaScript環境全体で共有されるグローバルな正規表現操作の状態を反映します。String.prototype.match()String.prototype.replace()RegExp.prototype.exec()など、正規表現に関連するメソッドが実行されるたびに、そのメソッドが処理した元の文字列が自動的にこのRegExp.inputプロパティに格納されます。

例えば、ある文字列に対して正規表現でパターンを検索した後、どの文字列がその検索対象だったのかを確認したい場合に、このプロパティを参照することで元の文字列全体を取得できます。$_という短縮形も同じ意味で使用可能ですが、コードの可読性を高めるためにはRegExp.inputの形式を用いることが推奨されます。

しかし、このプロパティはグローバルな状態を変更するため、複数の正規表現処理が同時に実行されたり、非同期処理が含まれるような複雑なコードでは、意図しない値が格納される可能性がある点に注意が必要です。そのため、現代のJavaScript開発では、正規表現メソッドが返す結果を直接利用したり、よりスコープの限定された変数に格納したりすることが一般的です。このプロパティは、特定の状況下で正規表現が適用された元の文字列を参照する必要がある場合に利用されることがあります。

公式リファレンス: RegExp.input ($_)

構文(syntax)

1"Hello World".match(/World/);
2console.log(RegExp.input);

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RegExp.input は、直近で実行された正規表現マッチング操作によって入力された文字列を返します。

関連コンテンツ

関連プログラミング言語