当正则表达式带有 g(全局匹配)标志
当正则表达式带有 g(全局匹配)标志时,exec() 方法会维护一个 lastIndex 属性:
- 初始时,
lastIndex = 0,表示从字符串的第 0 位开始匹配; - 每次执行
exec()找到匹配结果后,lastIndex会自动更新为匹配结果的结束位置(即match.index + match[0].length); - 下一次执行
exec()时,会从lastIndex指向的位置继续查找,而不是从头开始; - 当找不到匹配结果时,
exec()返回null,同时lastIndex会重置为 0。