🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
| JScript  | [语言参考](#) | |-----|-----| # lastIndex 属性 返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。 **`RegExp.lastIndex`** 与该属性有关的对象总是全局 **RegExp **对象。 #### 说明 **lastIndex** 属性是基于零的,也就是说,第一个字符的索引是零。其初始值为 -1,不论何时产生一个成功匹配,它的值都被修改。 lastIndex 属性被 RegExp 对象的 exec 和 test 方法,以及 String 对象的 match、replace、和 split 方法修改。 下面的规则应用于 **lastIndex** 的值: - 如果还没有匹配,则 lastIndex 被设置为 -1. - 如果 **lastIndex** 比字符串的长度大,则 **test** 和 **exec** 失败,并且 **lastIndex** 被设置为 -1。 - 如果 **lastIndex** 等于字符串的长度,且模式与空字符串匹配,则正则表达式匹配。否则,匹配失败并且 **lastIndex** 被重置为 -1。 - 否则,**lastIndex** 被设置为紧接最近的匹配的下一个位置。 #### 示例 下例阐明了 **lastIndex** 属性的用法。该函数重复了查找字符串,并打印出字符串中每一个字的 **index** 和 **lastIndex** 值。 ~~~ function RegExpTest(){ var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()) if (ver >= 5.5){ var src = "The rain in Spain falls mainly in the plain."; var re = /\w+/g; var arr; while ((arr = re.exec(src)) != null) print(arr.index + "-" + arr.lastIndex + "\t" + arr); } else{ alert("You need a newer version of JScript for this to work"); } } ~~~ #### 要求 [版本3](#) #### 请参阅 [RegExp 对象的属性](#) | [正则表达式语法](#) 应用于: [RegExp 对象](#) [© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。](#)