exec メソッド
正規表現パターンを使って文字列に対して検索を実行し、検索結果を配列に格納して返します。
function exec(str : String) : Array
引数
- str
必ず指定します。 検索対象とする String オブジェクトの名前またはリテラル文字列を指定します。
解説
パターンに一致する文字列が見つからなかった場合、exec メソッドは null を返します。 一致する文字列が見つかった場合は、exec は配列を返し、さらにグローバルな RegExp オブジェクトのプロパティが検索結果を反映して更新されます。 配列の要素 0 には一致結果全体が、要素が 1 から n には、一致結果の中に副次的に含まれる一致の内容が格納されます。 この処理は、グローバル フラグ (g) が設定されていない場合の match メソッドの処理と同じです。
正規表現でグローバル フラグが設定されている場合、exec により、lastIndex の値で指定された位置から文字列の検索が開始されます。 グローバル フラグが設定されていない場合、exec により、lastIndex の値に関係なく、検索は文字列の先頭から開始されます。
exec メソッドが返す配列には、input、index、および lastIndex の 3 つのプロパティがあります。 input プロパティには、検索された文字列全体が格納されます。 index プロパティには、検索された文字列内の一致した部分文字列の位置が格納されます。 lastIndex プロパティには、一致文字列の末尾の文字に続く位置が格納されます。
使用例
exec メソッドの使用例を次に示します。
var src = "The quick brown fox jumps over the lazy dog.";
// Create regular expression pattern with a global flag.
var re = /\w+/g;
// Get the next word, starting at the position of lastindex.
var arr;
while ((arr = re.exec(src)) != null)
{
print (arr.index + "-" + arr.lastIndex + " " + arr[0]);
}
// Output:
// 0-3 The
// 4-9 quick
// 10-15 brown
// 16-19 fox
// 20-25 jumps
// 26-30 over
// 31-34 the
// 35-39 lazy
// 40-43 dog