往前走,一片诱人的新绿尽收眼底,那是满池的新荷。荷叶有的平展着圆盘浮在水面上;有的绿伞般在空中摇曳;有的兜着水珠把阳光反射得灿烂夺目;有的长得非常高,却未展开叶面,勇敢地挺立着。荷花则多半含苞待放,白中透粉的一朵朵花儿,活像一个个花仙子借着微风,在池中裙袂飞扬,翩然起舞。
本文实例讲述了JavaScript正则表达式exec/g实现多次循环用法。分享给大家供大家参考,具体如下:
var x = "a.xxx.com b.xxx.com c.xxx.com";
希望得到 ["a","b","c"] 这三个结果
1. 正则需要 添加 g
2. exec 循环,直到返回空
代码如下,会输出 a b c
var x = "a.xxx.com b.xxx.com c.xxx.com"; var re = /\s?(.*?).xxx.com/g; while( tempR = re.exec(x)) { console.log(tempR[1]); }
参考文档://www.haodaima.com/w3school/js/jsref_exec_regexp.htm
exec的功能比 match 强大
提示:请注意,无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是 exec() 与 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.haodaima.com/regex/javascript
正则表达式在线生成工具:
http://tools.haodaima.com/regex/create_reg
希望本文所述对大家JavaScript程序设计有所帮助。
本文JavaScript正则表达式exec/g实现多次循环用法示例到此结束。爱自己胜于爱他人,才是自然和真实的。小编再次感谢大家对我们的支持!