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    
广告