# 描述

在每个实例化的正则对象中,都存在一个 lastIndex 属性,初始值为 0

lastIndex 属性是进行正则匹配操作的开始的位置

如果正则表达式不带 g 标志,则 lastIndex 始终为 0

如果正则表达式带有 g 标志,匹配成功则将匹配内容最后一个字符串在原字符串中的索引加 1 设置为 lastIndex 的值,匹配失败则重置为 0

# 示例

# 返回值

var reg1 = /ab/;
var reg2 = /ab/g;
var str = 'abcabc';

console.log(reg1.lastIndex, reg1.test(str));  // 0 true
console.log(reg1.lastIndex, reg1.test(str));  // 0 true
console.log(reg1.lastIndex, reg1.test(str));  // 0 true

console.log(reg2.lastIndex, reg2.test(str));  // 0 true
console.log(reg2.lastIndex, reg2.test(str));  // 2 true
console.log(reg2.lastIndex, reg2.test(str));  // 5 false
// 当 lastIndex 为 5 时,正则匹配从 str[5] 的位置开始,结果为 false
上次更新: 8/9/2021, 11:31:12 AM