zoukankan      html  css  js  c++  java
  • javascript 正则表达式 g 的相关资料

    在编写代码的时候出现莫名的错误,如下:

    var regNum = /^\d+$/g; 
    
    regNum.test("344"); // 返回true
    
    //regNum = /^\d+$/g; //加上此段代码,下面测试一定返回true
    regNum.test("344"); // 返回false,期待返回true
    
    //regNum = /^\d+$/g; //加上此段代码,下面测试一定返回true
    regNum.test("344"); // 返回true
    
    //以上测试数据“344”可以替换成任意数字,可以看到返回结果为true,false,true,false,true....这样反复的结果
    

       

    同样的代码返回不一样的结果,实在是汗颜+郁闷,测试了半天突然醒悟是不是表达式就已经写错了。

    网上找资料发现表达式是没有问题,问题出现对“g” 的理解上。

    以前一直以为“g” 表示全局匹配只针对当前字符串(实际上也针对正则表达式),结果正则文档上的说明是:每次匹配一次都会返回 

    lastIndex值,并且作为全局变量保存(这句是我的理解),也就是当匹配第二个字符串的时候,起始地址已经不是0了,而是上一次匹配结果的index值。
     
     
  • 相关阅读:
    开发avr单片机网络资源
    c语言中各种数据类型的长度
    REPEAT_BYTE(x)宏
    如何快速掌握man手册的使用
    如何获取内核代码的变更信息说明
    min宏的学习
    Spring对jdbc支持
    切入点表达式
    XML方式实现AOP编程
    注解方式实现AOP编程
  • 原文地址:https://www.cnblogs.com/liumang/p/1963764.html
Copyright © 2011-2022 走看看