substring和exec注意点

xiaoxiao2021-02-27  191

substring(start,end) 包左不包右   

实例:将网址http://211.137.199.131/ 去掉前缀http://    用substring(7,length-1)         注意这里不是substring(6,length-2)

exec正则匹配出来的是一个数组a,其中a[0]表示匹配出来的完整字符串,a[1]是正则表达式中前面一截,a[2]是后面一截。

       实例:var reg =/(\b1344\d+|\b1574\d+)\s+(\S+)/gi;

           var a = reg.exec(content);

                  a[1]是(\b1344\d+|\b1574\d+)\s

                  a[2]是(\S+)

使用exec时不能用正则表达式直接.exec方法,需要用变量代替正则表达式,否则不会记录exec的索引,因为正则表达式调用exec相当于重新声明一个变量,地址会改变,所以不会记录索引。如下例,上面这个是对的,下面这个匹配的结果头两条会是重复的。

         实例:var reg=/GigabitEthernet\d\/\d\/\d/g;          var r=reg.exec(res);          var result="";          while(r){     result=result+","+r[0];     r=reg.exec(res);          }       

          var r=/GigabitEthernet\d\/\d\/\d/g.exec(res);           var result="";           while(r){      result=result+","+r[0];      r=/GigabitEthernet\d\/\d\/\d/g.exec(res);           }       

  

   

转载请注明原文地址: https://www.6miu.com/read-11894.html

最新回复(0)