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

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

        javascript 正则对象创建 和用法 

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

    学习最常用的 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);   //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); 
           

    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);  // 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);  //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);   // libinqq2  libinqq3 
           

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

           for (var i = 0; i < arrdata.length; i++) 
           
                alert(arrdata);  // a b c 1 2 3 
           
    二  javascript  正则表达式是分组知识 
    1) 简单分组 
    1.     <script language="JavaScript">   
    2.       <!--   
    3.              
    4.            
    5.         var data = "Ah-mousemouse";     
    6.         var reCat = /(mouse){2}/gi;      
    7.         var arrdata = data.match(reCat);   
    8.       
    9.         for (var i = 0; i < arrdata.length; i++)   
    10.         {   
    11.             alert(arrdata[i]);   
    12.         }   
    13.       //-->   
    14.       </script>  
    复制代码

    2 复杂分组
    1.     <script language="JavaScript">   
    2.       <!--   
    3.              
    4.            
    5.         var data = "bb ba da bad dad aa ";     
    6.         var reCat = /([bd]ad?)/gi;   // 匹配出 ba da bad  dad   
    7.         var arrdata = data.match(reCat);   
    8.       
    9.         for (var i = 0; i < arrdata.length; i++)   
    10.         {   
    11.             alert(arrdata[i]);   
    12.         }       
    13.            
    14.       
    15.         // 同时 也不介意将分组放在分组中间   
    16.         // var re = /(mom( and dad)?)/;    匹配出 mom  或  mon and daa   
    17.       //-->   
    18.       </script>  
    复制代码

    3 反向引用
    1.     <script language="JavaScript">   
    2.       <!--   
    3.           
    4.       
    5.         var sToMatch = "#123456789";   
    6.         var reNumbers = /#(d+)/;   
    7.         reNumbers.test(sToMatch);   
    8.         alert(RegExp.$1);   
    9.       
    10.           
    11.       
    12.       
    13.         var sToChange = "1234 5678";   
    14.         var reMatch = /(d{4}) (d{4})/;   
    15.         var sNew = sToChange.replace(reMatch,"$2 $1");   
    16.         alert(sNew);   
    17.       
    18.           
    19.       
    20.       //-->   
    21.       </script>  
    复制代码

    4 候选
    1.     <script language="JavaScript">   
    2.       <!--   
    3.           
    4.         var sToMatch1 = "red";   
    5.         var sToMatch2 = "black";   
    6.         var reRed = /red/;   
    7.         var reBlack = /black/;   
    8.       
    9.         alert(reRed.test(sToMatch1) || reBlack.test(sToMatch1));   
    10.         alert(reRed.test(sToMatch2) || reBlack.test(sToMatch2));   
    11.       
    12.           
    13.       
    14.         var sToMatch1 = "red";   
    15.         var sToMatch2 = "black";   
    16.         var reRedOrBlack = /(red|black)/;   
    17.         alert(reRedOrBlack.test(sToMatch1));   
    18.         alert(reRedOrBlack.test(sToMatch2));   
    19.       
    20.       //-->   
    21.       </script>  
    复制代码

    5 非捕获性分组
    1.     <script language="JavaScript">   
    2.       <!--   
    3.           
    4.       
    5.         var sToMatch = "#123456789";   
    6.         var reNumbers = /#(?:d+)/;   
    7.         reNumbers.test(sToMatch);   
    8.         alert(RegExp.$1);   
    9.       
    10.           
    11.       
    12.         var sToMatch = "#123456789";   
    13.         var reNumbers = /#(?:d+)/;   
    14.         alert(sToMatch.replace(reNumbers,"abcd$1"));   
    15.       
    16.           
    17.       //-->   
    18.       </script>  
    复制代码

    6 前瞻
    1.     <script language="JavaScript">   
    2.       <!--   
    3.           
    4.       
    5.       
    6.           var sToMatch1 = "bedroom";   
    7.           var sToMatch2 = "bedding";   
    8.           var reBed = /bed(?=room)/;    
    9.           alert(reBed.test(sToMatch1));  //true   
    10.           alert(reBed.test(sToMatch2));  //false   
    11.           
    12.         //负向前瞻   
    13.            
    14.           var sToMatch1 = "bedroom";   
    15.           var sToMatch2 = "bedding";   
    16.           var reBed = /bed(?!room)/;    
    17.           alert(reBed.test(sToMatch1)); //false   
    18.           alert(reBed.test(sToMatch2)); //true   
    19.       //-->   
    20.       </script>  
    复制代码

    7 边界
    1.     <script language="JavaScript">   
    2.       <!--   
    3.           
    4.       
    5.           var sToMatch = "Important word is the last one.";   
    6.           var reLastWord = /(w+).$/;    
    7.           reLastWord.test(sToMatch);   
    8.           alert(RegExp.$1);  //one   
    9.       
    10.           
    11.       
    12.       
    13.       
    14.           var sToMatch = "Important word is the last one.";   
    15.           var reLastWord = /^(w+)/;    
    16.           reLastWord.test(sToMatch);   
    17.           alert(RegExp.$1);  //Important   
    18.       
    19.           
    20.           
    21.           var sToMatch = "Important word is the last one.";   
    22.           var reLastWord = /^(.+?)/;    
    23.           reLastWord.test(sToMatch);   
    24.           alert(RegExp.$1);  //Important   
    25.            
    26.           
    27.       
    28.         var data = " First second thind fourth fifth sixth ";     
    29.         var reCat = /(S+?)/g;      
    30.         var arrdata = data.match(reCat);   
    31.       
    32.         for (var i = 0; i < arrdata.length; i++)   
    33.         {   
    34.             alert(arrdata[i]);   
    35.         }      
    36.       
    37.           
    38.       //-->   
    39.       </script>  
    复制代码

    8 多行模式
    1.     <script language="JavaScript">   
    2.       <!--   
    3.              
    4.            
    5.         var data = " First second thind fourth fifth sixth";     
    6.         var reCat = /(w+)$/g;      
    7.         var arrdata = data.match(reCat);   
    8.       
    9.         for (var i = 0; i < arrdata.length; i++)   
    10.         {   
    11.             alert(arrdata[i]);   
    12.         }     
    13.            
    14.              
    15.         var data = " First second thind fourth fifth sixth";     
    16.         var reCat = /(w+)$/gm;      
    17.         var arrdata = data.match(reCat);   
    18.       
    19.         for (var i = 0; i < arrdata.length; i++)   
    20.       
    21.         {   
    22.             alert(arrdata[i]);   
    23.         }  a   
    24.            
    25.       
    26.       //-->   
    27.       </script>  
    复制代码

    转载出处:http://www.ok22.org/art_detail.aspx?id=209【js的正则方法使用实例幸凡在线学习网
  • 相关阅读:
    sqlserver 日期格式化
    CentOS7系统 ansible自动化部署多台服务器部署
    Linux运维跳槽40道面试精华题
    Linux下SVN创建新的项目
    日志切割
    SVN的安装和启动SVN的安装
    jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
    nginx启动脚本
    nginx如何调用php
    redis常用命令
  • 原文地址:https://www.cnblogs.com/zhaojia-dream/p/3554727.html
Copyright © 2011-2022 走看看