RegExp オブジェクト
正規表現パターン一致の結果についての情報を保存する組み込みのグローバルなオブジェクトです。 このオブジェクトを明示的に構築することはできません。
プロパティ
メソッド
RegExp オブジェクトには、メソッドはありません。
要件
解説
RegExp オブジェクトは、直接作成することはできませんが、いつでも使用できます。 次の表は、正規表現の検索が成功するまでの、RegExp オブジェクトのさまざまなプロパティの初期値を示したものです。
プロパティ |
略式 |
[初期の値] |
---|---|---|
index |
|
-1 |
input |
$_ |
空の文字列 |
lastIndex |
|
-1 |
lastMatch |
$& |
空の文字列 |
lastParen |
$+ |
空の文字列 |
leftContext |
$` |
空の文字列 |
rightContext |
$' |
空の文字列 |
$1 - $9 |
|
空の文字列 |
グローバルな RegExp オブジェクトを Regular Expression オブジェクトと混同しないようにしてください。 名前は似ていますが、これらの 2 つのオブジェクトには明確な違いがあります。 グローバルな RegExp オブジェクトのプロパティには、一致が検出されるたびに更新される情報が格納されるのに対し、Regular Expression オブジェクトのプロパティには、Regular Expression の 1 つのインスタンスによる一致に関する情報だけが格納されます。
注意
RegExp のプロパティは、高速モードで実行されている場合は利用できません。JScript の既定のモードは高速モードです。 これらのプロパティを使用するプログラムをコマンド ラインからコンパイルするには、/fast- を使用して fast オプションをオフにする必要があります。 ASP.NET で fast オプションをオフにするのは安全ではありません。スレッドに関する問題が発生する場合があります。
次のコードは、グローバルな RegExp オブジェクトの使用例です。 この例は、/fast- オプションを使用してコンパイルする必要があります。
使用例
var re : RegExp = new RegExp("d(b+)(d)","ig");
var arr : Array = re.exec("cdbBdbsbdbdz");
print("$1 contains: " + RegExp.$1);
print("$2 contains: " + RegExp.$2);
print("$3 contains: " + RegExp.$3);
このコードの出力は次のようになります。
$1 contains: bB
$2 contains: d
$3 contains: