RegExp オブジェクト
更新 : 2007 年 11 月
正規表現パターン一致の結果についての情報を保存する組み込みのグローバルなオブジェクトです。このオブジェクトを明示的に構築することはできません。
プロパティ
メソッド
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: