match メソッド
更新 : 2007 年 11 月
正規表現パターンを使って文字列に対して検索を実行し、検索結果を配列に格納して返します。
function match(rgExp : RegExp) : Array
引数
- rgExp
必ず指定します。正規表現パターンおよび適用できるフラグを含む Regular Expression オブジェクトのインスタンスを指定します。正規表現パターンおよびフラグを含む変数名または文字列リテラルを指定することもできます。
解説
パターンに一致する文字列が見つからなかった場合、match メソッドは null を返します。一致する文字列が見つかった場合は、配列を返し、さらにグローバルな RegExp オブジェクトのプロパティが検索結果を反映して更新されます。
match メソッドが返す配列には、input、index、および lastIndex. の 3 つのプロパティがあります。input プロパティには、検索された文字列全体が格納されます。index プロパティには、検索された文字列内の一致した部分文字列の位置が格納されます。lastIndex プロパティには、最後に一致したサブストリングの最後の文字の直後の位置が格納されます。
グローバル フラグ (g) が設定されていない場合、配列の要素 0 には一致した文字列全体が、要素 1 から n には、一致した文字列の中に副次的に含まれている内容が格納されます。この処理は、グローバルなフラグが設定されていない場合の exec メソッドの処理と同じです。グローバル フラグが設定されている場合、要素 0 から n には一致したすべての文字列がそれぞれ格納されます。
使用例
match メソッドの使用例を次に示します。
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return first occurrence of "ain".
}
次のコードは、g フラグが設定されている場合の match メソッドの使用例を次に示します。
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return array containing all four
// occurrences of "ain".
}
match メソッドの文字列リテラルの使用例を次に示します。
var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");