ストリングに対して正規表現を使用するメソッド

Flash Player 9 以降、Adobe AIR 1.0 以降

RegExp クラスには、 exec() および test() の 2 つのメソッドが含まれます。

RegExp クラスの exec() メソッドおよび test() メソッドに加えて、String クラスにはストリング内で正規表現に一致する match() replace() search() 、および splice() の各メソッドが含まれます。

test() メソッド

RegExp クラスの test() メソッドは、次の例で示すように、指定したストリング内に正規表現に一致する部分があるかどうかを単に判定します。

var pattern:RegExp = /Class-\w/; 
var str = "Class-A"; 
trace(pattern.test(str)); // output: true

exec() メソッド

RegExp クラスの exec() メソッドは、指定したストリング内に正規表現に一致する部分があるかどうかを調べ、次の内容を格納した配列を返します。

  • パターンに一致したサブストリング

  • 正規表現に含まれるいずれかのグループ化括弧に一致したサブストリング

また、この配列には、サブストリングの一致を開始したインデックス位置を示す index プロパティがあります。

例えば、次のようなコードがあるとします。

var pattern:RegExp = /\d{3}\-\d{3}-\d{4}/; //U.S phone number 
var str:String = "phone: 415-555-1212"; 
var result:Array = pattern.exec(str); 
trace(result.index, " - ", result); 
// 7-415-555-1212

正規表現に g global )フラグを設定して、 exec() メソッドを繰り返し呼び出すことにより、次のように複数のサブストリングについて一致を調べることができます。

var pattern:RegExp = /\w*sh\w*/gi; 
var str:String = "She sells seashells by the seashore"; 
var result:Array = pattern.exec(str); 
     
while (result != null) 
{ 
    trace(result.index, "\t", pattern.lastIndex, "\t", result); 
    result = pattern.exec(str); 
} 
//output:  
// 0      3      She 
// 10      19      seashells 
// 27      35      seashore

RegExp パラメーターを使用する String のメソッド

正規表現のパラメーターを指定できる String クラスのメソッドとしては、 match() replace() search() 、および split() があります。 これらのメソッドについて詳しくは、 ストリング内のパターンの検索およびサブストリングの置換 を参照してください。