本文实例讲述了JS正则表达式修饰符global(/g)用法。分享给大家供大家参考,具体如下:
。先看一段经典代码:
输出ture
console.log(re.test(str)); //输出ture
console.log(re.test(str)); //输出ture
console.log(re.test(str)); //输出ture
var re = /abc/ig;//全局匹配
console.log(re.test(str)); //输出ture
console.log(re.test(str)); //输出false
console.log(re.test(str)); //输出ture
console.log(re.test(str)); //输出false
可以看到:当使用/g模式的时候,多次执行RegExp.test()的输出结果会有差别。下面的解释摘抄自这篇文章《》:
可以通过下面这段代码验证lastIndex在/g模式下的表现:
上面我们看到了/g模式对于RegExp.test()函数的影响,现在我们看下对RegExp.exec()函数的影响。RegExp.exec()返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
对于RegExp.exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此;如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。
当使用/g匹配模式的时候,我们可以通过循环,获取所有的匹配项。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
可以通过下面这段代码验证lastIndex在/g模式下的表现:
上面我们看到了/g模式对于RegExp.test()函数的影响,现在我们看下对RegExp.exec()函数的影响。RegExp.exec()返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
对于RegExp.exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此;如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。
当使用/g匹配模式的时候,我们可以通过循环,获取所有的匹配项。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
正则表达式在线生成工具:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
原文链接:https://www.f2er.com/js/43084.html