zoukankan      html  css  js  c++  java
  • js 正则常用方法

    一 javascript正则表达式的基本知识

    1     javascript 正则对象创建和用法

        声明javascript 正则表达式
        
         var reCat = new RegExp("cat");
          你也可以 
         var reCat = /cat/;      //Perl 风格   (推荐)

    2 学习最常用的 test exec match search  replace  split 6个方法

       1) test  检查指定的字符串是否存在

           var data = "123123";
           var reCat = /123/gi;
           alert(reCat.test(data));  //true
         
           //检查字符是否存在  g 继续往下走  i 不区分大小写

       2) exec 返回查询值

           var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
           var reCat = /cat/i;
           alert(reCat.exec(data));  //Cat

         3)match  得到查询数组

           var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
           var reCat = /cat/gi;
           var arrMactches = data.match(reCat)

           for (var i=0;i < arrMactches.length ; i++)
           {
                alert(arrMactches[i]);   //Cat  cat
           }

         4) search  返回搜索位置  类似于indexof

           var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
           var reCat = /cat/gi;
           alert(data.search(reCat));  //23


        5) replace  替换字符  利用正则替换

           var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
           var reCat = /cat/gi;
           alert(data.replace(reCat,"libinqq"));

        6)split   利用正则分割数组

           var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
           var reCat = /\,/;
           var arrdata = data.split(reCat);

           for (var i = 0; i < arrdata.length; i++)
           {
                alert(arrdata[i]);
           }

    3  学习下  简单类   负向类  范围类  组合类

        //简单类
           var data = "1libinqq,2libinqq,3libinqq,4libinqq";
           var reCat = /[123]libinqq/gi;
           var arrdata = data.match(reCat);

           for (var i = 0; i < arrdata.length; i++)
           {
                alert(arrdata[i]);  // 1libinqq 2libinqq  3libinqq
           }

           //负向类
           var data = "alibinqq,1libinqq,2libinqq,3libinqq,4libinqq";  //\u0062cf
           var reCat = /[^a123]libinqq/gi;
           var arrdata = data.match(reCat);

           for (var i = 0; i < arrdata.length; i++)
           {
                alert(arrdata[i]);  //4libinqq
           }

           //范围类
           var data = "libinqq1,libinqq2,libinqq3,libinqq4,libinqq5";  //\u0062cf
           var reCat = /libinqq[2-3]/gi;
           var arrdata = data.match(reCat);

           for (var i = 0; i < arrdata.length; i++)
           {
                alert(arrdata[i]);   // libinqq2  libinqq3
           }

           //组合类
          var data = "a,b,c,w,1,2,3,5";  //\u0062cf
           var reCat = /[a-q1-4\n]/gi;
           var arrdata = data.match(reCat);

           for (var i = 0; i < arrdata.length; i++)
           {
                alert(arrdata[i]);  // a b c 1 2 3
           }

  • 相关阅读:
    剑指offer-整数中1出现的次数
    剑指offer-连续子数组的最大和
    剑指offer-最小的k个数
    剑指offer-数组中超过一半的数字
    剑指offer-二叉搜索树与双向链表
    剑指offer-复杂链表的复制
    剑指offer-二叉树中和为某一值的路径
    剑指offer-二叉搜索树的后序遍历
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
  • 原文地址:https://www.cnblogs.com/skeay/p/2584353.html
Copyright © 2011-2022 走看看