蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 48|回复: 0

JavaScript 正则表达式中global模式的特性

[复制链接]

1923

主题

1

好友

1591

积分

管理员

Rank: 64Rank: 64Rank: 64Rank: 64

  • TA的每日心情
    奋斗
    2016-1-22 16:23
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    荣誉管理 论坛元老 热心会员 活跃会员 最佳新人 灌水之王

    发表于 6 天前 |显示全部楼层
    JavaScript 正则表达式中global模式的特性
    返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。 rgExpglobal 必选项 rgExp 参数是正则表达式对象。 如果正则表达式设置了global 标志,那么global 属性返回 true,否则返回 false。 使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。
    一直不是很清楚javascript的global到底表现在哪些方面,所以今天特地做了几个测试:


    var str = 'bbaaabb',
      reg = /^b|b$/;
      while(regtest(str)){
        str = strreplace(reg,'');
        consolelog(reglastIndex + ":" + str);
      }

    最终结果:



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

    但是如果稍做一些修改


    var str = 'bbaaabb',
      reg = /^b|b$/g;
      while(regtest(str)){
        str = strreplace(reg,'');
        consolelog(reglastIndex + ":" + str);
      }

    最终结果则是:



    //0:baaab
    //0:aaa

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

    JavaScript 正则表达式中global模式的特性就给大家介绍这么多,希望对大家有所帮助!
    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    蚂蚁站长论坛推荐上一条 /1 下一条

    QQ|Archiver|手机版|广告服务|蚂蚁站长-站长之家 ( 黔ICP备16008478号-1  

    GMT+8, 2017-10-19 07:40

    Powered by 站长论坛

    © 2007-2013 Jzant.com Inc.

    回顶部