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

【Node.js24.x】RegExp::inputプロパティの使い方

inputプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

inputプロパティは、最後に成功した正規表現のマッチ操作において検索対象となった文字列全体を保持するプロパティです。このプロパティは、Node.jsを含むECMAScript環境において、グローバルなRegExpオブジェクトに属する静的プロパティとして提供されています。

具体的には、RegExpオブジェクトのprototypeメソッドであるexec()や、Stringオブジェクトのprototypeメソッドであるmatch()replace()search()といった、正規表現パターンを用いた文字列操作が実行され、その操作でマッチが成功した場合に、検索対象として使用された元の文字列全体が自動的にこのRegExp.inputプロパティに格納されます。

このプロパティは、特定の正規表現インスタンス(例えば、myRegExpという変数に代入された正規表現オブジェクト)に紐づくものではなく、グローバルなRegExpオブジェクトに直接アクセスすることで利用します。そのため、RegExp.inputという形式でアクセスすることで、最後に正規表現による検索が行われた文字列を確認できます。

利用例としては、ある文字列に対して正規表現でパターンを探した後、そのパターンが適用された元の文字列全体を後から参照したい場合に役立ちます。ただし、このプロパティはグローバルな状態に依存するため、複数の正規表現操作が連続して行われる環境では、最後に実行された操作の結果によって値が常に上書きされる点に注意が必要です。したがって、特定の正規表現操作の結果を確実に保持したい場合は、その操作の戻り値を直接利用するか、すぐに値を変数に代入するなどの対応が推奨されます。

構文(syntax)

1const targetString = "The quick brown fox jumps over the lazy dog.";
2const regex = /fox/;
3
4// 正規表現マッチング操作を実行すると、RegExp.input には元の文字列が設定されます。
5regex.exec(targetString);
6
7// RegExp.input は、最後に正規表現操作が行われた元の文字列を返します。
8console.log(RegExp.input);

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RegExp.prototype.input プロパティは、正規表現が最後にマッチした文字列全体を返します。

関連コンテンツ

関連プログラミング言語