與 .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’,下一個 exec 從索引'2’開始
找到’a’,下一個 exec 從索引'5’開始
找到’a’,下一個 exec 從索引'8’開始