この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
非標準
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
概要
非標準の $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"
仕様
非標準。 すべての現在の仕様でサポートされておりません。
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |