與 .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’開始