非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

非標準の $1, $2, $3, $4, $5, $6, $7, $8, $9 プロパティは 括弧内の部分文字列の一致が含まれている正規表現の静的な読み取り専用なプロパティです。

構文

RegExp.$1
RegExp.$2
RegExp.$3
RegExp.$4
RegExp.$5
RegExp.$6
RegExp.$7
RegExp.$8
RegExp.$9

説明

$1, ..., $9 プロパティは静的です。個々の正規表現オブジェクトのプロパティではありません。その代わりに、 常に、RegExp.$1, ..., RegExp.$9として使用しないで下さい。

これらのプロパティの値は読み取り専用で、うまく一致するといつでも変更されます。

The number of 可能な括弧内の部分文字列の数に制限はありません。しかしRegExp オブジェクトは最初の9つを保持することができます. 返される配列のインデックスを通してすべての括弧内の部分文字列にアクセスしてください。

これらのプロパティはString.replaceメソッドに対する置換文字列で使われます。この方法で使われるとき、RegExpを先頭に追加しないでください。次の例を参考にしてください。括弧が正規表現に含まれていない場合には、スクリプトは$nを文字通り解釈します(nは正の整数です)。

String.replace$n を使う

次のスクリプトでは、Stringインスタンスのreplace() メソッドを使い、名 姓フォーマットの名前と一致し、姓, 名フォーマットで出力します。 置換文字列において、そのスクリプトでは、正規表現パターンで対応するマッチング括弧を示す$1$2を使っています。

var re = /(\w+)\s(\w+)/;
var str = 'John Smith';
str.replace(re, '$2, $1'); // "Smith, John"
RegExp.$1; // "John"
RegExp.$2; // "Smith"

仕様

非標準。 すべての現在の仕様でサポートされておりません。

ブラウザ対応状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
基本対応
非標準
Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: noobar, shide55
最終更新者: noobar,