非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。
非標準の $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"
仕様
非標準。 すべての現在の仕様でサポートされておりません。
ブラウザ対応状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RegExp.$1-$9 | Chrome 完全対応 あり | Edge 完全対応 あり | Firefox 完全対応 1 | IE 完全対応 あり | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
凡例
- 完全対応
- 完全対応
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。