zoukankan      html  css  js  c++  java
  • 正则匹配

     1 //分组返回
     2 var pattern=/^[a-z]+s[0-9]{4}$/;
     3 var str='google 2012';
     4 alert(pattern.exec(str));    //返回一个包含字符串的数组
     5 
     6 
     7 var pattern=/^[a-z]+/;        //只匹配到字母
     8 var str='google 2012';
     9 alert(pattern.exec(str));    //只返回google的字符串数组
    10 
    11 
    12 var pattern=/^([a-z]+)s([0-9]{4})$/;    //使用了分组
    13 var str='google 2012';
    14 var a= pattern.exec(str);
    15 // alert(a.length);    //3
    16 alert(a[0]);    //返回匹配到的整个字符串
    17 alert(a[1]);    //返回匹配到的第一个分组的字符串
    18 alert(a[2]);    //返回匹配到的第二个分组的字符串
    19 
    20 
    21 //捕获性分组和非捕获性分组
    22 
    23 var pattern=/(d+)([a-z])/;        //这个叫做捕获性分组,所有的分组都捕获返回
    24 var str='123abc';
    25 var a=pattern.exec(str);
    26 //a[0]返回123a
    27 //a[1]返回123
    28 //a[2]返回a
    29 
    30 
    31 var pattern=/(d+)(?:[a-z])/;        //非捕获性分组,只需要在不需要捕获返回的分组加上 ?:
    32 var str='123abc';
    33 var a=pattern.exec(str);
    34 alert(a[1]);
    35 //a[0]返回123a
    36 //a[1]返回123
    37 
    38 
    39 //使用分组嵌套
    40 
    41 var pattern=/(a?(b?(c?)))/;        //嵌套分组,从外往内获取
    42 var str='abc';
    43 var a=pattern.exec(str);
    44 //第一步:a[0],整个匹配到的字符串abc
    45 //第二步:a[1],匹配第一个分组(a?(b?(c?)))    abc
    46 //第三步:a[2],匹配第二个分组(b?(c?))    bc
    47 //第四步:a[3],匹配第三个分组(c?)    c
    48 
    49 
    50 //使用前瞻捕获
    51 var pattern=/goo(?=gle)/;    //goo后面必须是gle才能返回goo,需要注意返回的是goo而不是google
    52 // var str='google';
    53 var str='goobbb';
    54 alert(pattern.exec(str));
    55 
    56 
    57 //使用特殊字符匹配
    58 var pattern=/[/;    //用符号来转义正则里的特殊字符,才能匹配
    59 var str='[';
    60 alert(pattern.exec(str));
    61 
    62 
    63 //使用换行模式
    64 var pattern=/^d+/gm;        //限定了首匹配,并且开启换行模式
    65 // var pattern=/d+/g;
    66 var str='1.baidu
    2.google
    3.bing';
    67 alert(str.replace(pattern,'#'));
    View Code
    高否?富否?帅否? 否? 滚去学习!
  • 相关阅读:
    程序员学习能力提升三要素(转)
    网页游戏框架
    CS心得
    项目主管谈网页游戏:一将功成万骨枯
    分享成为高效程序员的7个重要习惯
    看代码的实质
    点击delphi中wwDBGrid标题进行排序
    DataRow 学习
    学习遇到的问题MVC设置 起始页后怎样恢复
    泛型中的where
  • 原文地址:https://www.cnblogs.com/baixc/p/3381639.html
Copyright © 2011-2022 走看看