→
その RegExp で指定文字列との一致情報を配列で返します。lastIndex プロパティ有効です。
| RegExp | RegExp。またはリテラル表記。 |
|---|---|
| str | 正規表現の検索の対象となる文字列。 |
検索に成功した場合は配列を返し、一致に失敗した場合は null を返します。
JavaScript の RegExp オブジェクトは、global または sticky フラグが設定されている場合(例えば /foo/g や /foo/y) はステートフルになります。これは前回の一致位置を lastIndex に格納します。これを内部的に使用することで、exec() はテキストの文字列内で(キャプチャ グループのある)複数の一致を反復処理することができます。これは単なる文字列の一致を取得する String.prototype.match() とは対照的です。
より新しい関数として、(キャプチャ グループによる)複数の部分の文字列の一致を単純化する String.prototype.matchAll() が提案されています。
true か false かを知るために検索を実行するのであれば、RegExp.prototype.test() メソッドを使用してください。
文字列中での位置を知るために検索を実行するのであれば、String.prototype.search() メソッドを使用してください。
S="ABCabcabc"; RE=/a/g; D=RE.exec(S); //=[object]:a //0=[string]:a //index=[number]:3 //input=[string]:ABCabcabc //groups=[undefined]:undefined D=RE.lastIndex; //=[number]:4