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);

     

  • 相关阅读:
    粘性固定 position:sticky
    vue组件样式scoped
    vue组件结构
    vue根据路由判断所在的内容
    配置系统变量
    div中放入一个img元素导致div高度会多出几个像素
    button标签设置line-height问题
    Netty学习——protoc的新手使用流程
    Netty学习——Google Protobuf的初步了解
    Netty学习——Google Protobuf使用方式分析和环境搭建
  • 原文地址:https://www.cnblogs.com/galal/p/6024533.html
Copyright © 2011-2022 走看看