蛮蛮的手帐 2021-05-15 22:49 采纳率: 33.3%
浏览 40
已采纳

JavaScript高级程序设计(第3版)5.4 RegExp类型 例子有问题

JavaScript高级程序设计(第3版)5.4 RegExp类型

例子里有个问题,

按照书中的内容,第一次打印出来的catastrophe应该只有一个true,其余9次为false,但是实际上打印出了10个true

 var re = null,
       i;

       for(i=0;i<10;i++){
         re =/cat/g;
        console.log(re.test("catastrophe"));
       }

        for(i=0;i<10;i++){
         re = new RegExp("cat","g");
        // re.test("catastrophe")
        console.log(re.test("catastrophe"));
       }

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2021-05-15 23:14
    关注

    你这个由于每次都生成新的正则,所以肯定都是true,第一个示例正则申明应该是放在for循环外吧,这样在外面全局匹配会从下次的位置开始查找,输出是true/false交替的,找不到后又从0位开始,又匹配了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?