ES6 - RegExp lastIndex 属性

lastIndex 是 RegExp 对象的读/写属性。对于设置了"g"属性的正则表达式,它包含一个整数,该整数指定紧接在 RegExp.exec() 和 RegExp.test() 方法找到的最后一个匹配项之后的字符位置。这些方法使用此属性作为它们进行的下一次搜索的起点。

此属性允许您重复调用这些方法,以循环遍历字符串中的所有匹配项,并且仅在设置了"g"修饰符时才有效。

此属性是读/写的,因此您可以随时设置它以指定下一个搜索应在目标字符串中从何处开始。 exec() 和 test() 在无法找到匹配项(或另一个匹配项)时自动将 lastIndex 重置为 0。

语法

RegExpObject.lastIndex

返回值

返回一个整数,指定紧接在最后一个匹配项之后的字符位置。

示例

var str = "Javascript is an interesting scripting language";
var re = new RegExp( "script", "g" );
re.test(str);
console.log("Test 1 - Current Index: " + re.lastIndex);
re.test(str);
console.log("Test 2 - Current Index: " + re.lastIndex)

输出

Test 1 - Current Index: 10
Test 2 - Current Index: 35