返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。 rgExp.global 必选项 rgExp 参数是正则表达式对象。 如果正则表达式设置了global 标志,那么global 属性返回 true,否则返回 false。 使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。

一直不是很清楚javascript的global到底表现在哪些方面,所以今天特地做了几个测试:

var str = 'bbaaabb',
  reg = /^b|b$/;
  while(reg.test(str)){
    str = str.replace(reg,'');
    console.log(reg.lastIndex + ":" + str);
  } 

最终结果:

//0:baaabb
//0:aaabb
//0:aaab
//0:aaa 

但是如果稍做一些修改

var str = 'bbaaabb',
  reg = /^b|b$/g;
  while(reg.test(str)){
    str = str.replace(reg,'');
    console.log(reg.lastIndex + ":" + str);
  } 

最终结果则是:

//0:baaab
//0:aaa 

这样的结果说明,global模式下,在匹配到了开始的b字符后,还将继续匹配结尾的b字符,从而忽视掉中间"|"操作符。

JavaScript 正则表达式中global模式的特性就给大家介绍这么多,希望对大家有所帮助!

标签:
正则表达式global模式,正则表达式模式

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“JavaScript 正则表达式中global模式的特性”
暂无“JavaScript 正则表达式中global模式的特性”评论...