JavaScript 与.exec()匹配

示例

匹配使用 .exec()

RegExp.prototype.exec(string)返回捕获数组,或者null没有匹配项。

var re = /([0-9]+)[a-z]+/;
var match = re.exec("foo123bar");

match.index 是3,即匹配项(从零开始)的位置。

match[0] 是完全匹配的字符串。

match[1]是与第一个捕获组相对应的文本。  match[n]将是第n个捕获组的值。

使用循环遍历比赛 .exec()

var re = /a/g;
var result;
while ((result = re.exec('barbatbaz')) !== null) {
    console.log("found '" + result[0] + "', next exec starts at index '" +re.lastIndex+ "'");
}

预期产量

找到“ a”,下一个执行程序从索引“ 2”开始
找到“ a”,下一个执行程序从索引“ 5”开始,
找到“ a”,下一个执行程序从索引“ 8”开始