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

    给大家分享一下正则匹配规则,有看不懂的地方,可以给我留言哦

     

    以下哪个是正则对象的方法

     A.test(√)

    B.match()

    C.replace()

     D.split()

     

    1.字面量--眼见为实

    var str = "dalkdahjdkajkd";

    var reg = /789/;

    var result = str.match(reg);

    console.log(result);  

     

    2.元字符

    2.1  +号

    var str = "dakdhak+adad+adada";

    var reg = /+/;

    var result = reg.test(str);

    console.log(result);

     

    2.2 ^(托字符) 也需要转义

    var str = "dhehaklo^kdjehkj^de^";

    var reg = /^/g;

    var result = str.match(reg);

    console.log(result);

     

    2.3  除了+和^以下字符都是元字符,如果想要使用它们的字面意义,也都需要进行转义();

    正则中需要用反斜杠转义的字符: ^、.、[、]、$、(、)、|、*、+、?、{、}、

     

     

    3. ^---匹配字符串的开始位置

    var str = "dladhadhajd";

    var reg = /^dl/;

    var result = reg.test(str);

    console.log(result);

     

    4.$ ---匹配字符串结尾的位置

    str = "abcdakdakdhak";

    var reg = /ak$/;   

    var result = str.match(reg);

    console.log(result);

     

    练习:

    var str = "abc";

    var reg = /^abc$/;   //只能匹配abc

    var result = reg.test(str);

    console.log(result);

     

    5.   .字符:匹配除回车 换行 行分隔符u2028 段分隔符u2029 以外的所有字符

    var str = "akdhuyjf";

    var reg = /h.y/;

    var result = str.match(reg);

    console.log(result);

     

    练习:

    var str = "abhh";

    var reg = /a...$/;

    var result = str.match(reg);

    console.log(result);

     

    6. | 竖线  表示或的意思

    var str = "aabbcc";

    var reg = /d|aa/;

    var result = reg.test(str);

    console.log(result);

     

    7.重复问题

    用{}来表示 

    {m,n} 出现m-n次

    {m,}至少出现m次

    {n}正好就出现n次

     

    var str = "agdgkduphydadakdhkhpdada";

    var reg = /a.{0,}p/;

    var result = str.match(reg);

    console.log(result);

     

    练习

    var str = "dadlhajkldhakjd";

    var reg = /^d.{0,}ak.{1}d$/;

    var result = str.match(reg);

    console.log(result);

     

    8.? --重复类  相当于{0,1}

    var str = "abcgdhac";

    var reg = /a.?c/; //匹配ac 或者是a.c

    var result = str.match(reg);

    console.log(result);

     

    9.* 重复 相当于{0,}

    var str = "hakdalahdaiud";

    var reg = /ha*l/;

    var result = str.match(reg);

    console.log(result);

     

    10. +重复  相当于{1,0};

    var str = "18600017464";

    var reg = /^1860+17464$/;

    var result = reg.test(str);

    console.log(result);   //true 

     

    11. [] 选择 选择[]里面的任意一个字符

    var str = "woshihaoren";

    var reg = /w[12ado]sh/;

    var result = str.match(reg);

    console.log(result);

     

    12. 连字符 -主要用于连续的字符

    var str = "a394823398923z;"

    var reg = /a[0-9]+z/;

    var result = reg.test(str);

    console.log(result);

     

    13. ^托字符 另一种用法

    前面讲过:^表示匹配开始位置

    如果^字符用在[]里面,表示除了[]里面的其他字符

    例如 [^abc]  表示除了abc以外的任何字符

    var str = "aycdefk";

    var reg = /a[^bcdefh]c/;

    var result = str.match(reg);

    console.log(result);

     

    14./g 默认正则匹配到第一项满足条件之后就结束匹配,/g可以全局匹配

    var str = "dmadabdmadbada";

    var reg = /a/g;

    var result = str.match(reg);

    console.log(result);

     

    15. /i  正则默认是区分大小的,对大小写敏感,/i可以让正则在匹配的时候不区分大小写

    var str = "AKJDdbakdA"

    var reg = /a/i;

    var result = str.match(reg);

    console.log(result);

     

    16.  一些常见的简写形式

    16.1  d  代表匹配数字  [0-9]

    var str = "19600038398";

    var reg = /^1d{10}$/;

    var result = reg.test(str);

    console.log(result);

     

    16.2  D 除了数字以外的字符  [^0-9]

     

    16.3  w 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]

     var str = "GaGiaoMin_25_nan";

     var reg = /Gw*/;

     var result = str.match(reg);

     console.log(result);

     

    16.4  W 除所有字母,数字和下划线以外的字符,相当于[^A-Za-z0-9_]

     

    16.5  s 匹配空格,包括制表符、空格符、断行符等

    var str = "ga la min";

    var reg = /gasla/;

    var result = reg.test(str);

    console.log(result);

     

    16.6  S 匹配非空格的字符

     

    16.7   匹配单词的边界

    var str = "hello world";

    var reg = /hello/;

    var result = str.match(reg);

    console.log(result);

     

    16.8  B 匹配非单词边界

    var str = "sahfaebfmahfbshj";

    var reg = /Bhj/;

    var result = str.match(reg);

    console.log(result);

     

    17. 回车键 --- 字符串里面加 ,用代码模拟回车键

      表示换行  

      匹配制表符

      f 换页符

     

    var str = "wo zhen de fshi ge hao ren";

    alert(str);

    var reg = /f/;

    var result = reg.test(str);

    console.log(result);

     

    18.分组选择

      /(12)/  --- 12作为整体

    var str = "1h2j3j4n5j";

    var reg = /[(12)4]/g;

    var result = reg.test(str);

    console.log(result);

     

    19  汉字的匹配

     var str = "我 jiao gala";

     var reg = /[u4e00-u9fa5]/g;

     var result = str.match(reg);

     console.log(result);

     

  • 相关阅读:
    【HDOJ】2267 How Many People Can Survive
    【HDOJ】2268 How To Use The Car
    【HDOJ】2266 How Many Equations Can You Find
    【POJ】2278 DNA Sequence
    【ZOJ】3430 Detect the Virus
    【HDOJ】2896 病毒侵袭
    求奇数的乘积
    平方和与立方和
    求数列的和
    水仙花数
  • 原文地址:https://www.cnblogs.com/galal/p/6024533.html
Copyright © 2011-2022 走看看