美文网首页
正则表达式学习(二)

正则表达式学习(二)

作者: 欢喜的看着书 | 来源:发表于2018-11-06 16:39 被阅读0次

    接着上期的正则学习(一)https://www.jianshu.com/p/0b0fda627adc, 我接着写 正则学习(二)

    三 几个重要的概念

    1 、子表达式

    • 在正则表达式中,通过一对圆括号括起来的内容,我们就称之为“子表达式”。如:var reg = /\d(\d)\d/gi;

    2 、捕获

    • 在正则表达式中,子表达式匹配到相应的内容时,系统会自动捕获这个行为,然后将子表达式匹配到的内容放入系统的缓存区中。我们把这个过程称之为“捕获”
    1541490056(1).jpg

    3、 反向引用

    • 在正则表达式中,我们可以使用 \n( n>0, 正整数,代表系统的缓冲区编号)来获取缓冲区的内容,我们把这个过程就称之为“反向引用”。
    1541490679(1).jpg

    4、几个重要概念的应用场景

    • 例:查找连续相同的四个数字,其格式是 ABAB形式 例如,如:1212、9696、3535
    var str = "asdasdas3232asdqwdq5858vfdcasd6767asdas8585dasx";
    var reg = /(\d)/(\d)\1\2/gi;
    console.log(str.match(reg));
    //输出结果: ["3232", "5858", "6767", "8585"]
    

    5、几个练习题

    • 1、查找连续的四个数字,如 3569
    //答: 
    var reg = /\d\d\d/gi;
    
    • 2、查找数字,如 1221, 3443
    //答:
    var reg = /(\d)(\d)\2\1/gi;
    
    • 3、查找字符,如 AABB,TTMM
      (提示:在正则表达式中,通过[A-Z]匹配A-Z中的任一字符)
    //答:
    var reg = /([A-Z])\1([A-Z])\2/g;
    //注意 这个表达式没有i i的意思是忽略大小写
    
    • 4、查找连续相同的四个数字或者四个字符
      (提示:在正则表达式中,通过[0-9a-z])
    //答:
    var reg = /([0-9a-z])\1\1\1\/gi;
    

    四、编写正则表达式

    1、正则表达式的组成

    • 正则表达式是由普通字符以及特殊字符组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
      var reg = /\d/gi

    2、编写正则表达式三步走

    • 1 查什么
    • 2 查多少
    • 3 从哪儿查

    3、查什么(匹配符)

    匹配符:字符串匹配符用于匹配某个或某些字符
    在正则表达式中,通过一对中括号括起来的内容,我们就称之为“字符簇”。字符簇代表的是一个范围,但是匹配时,只能匹配某个固定的结果

    [a-z] : 匹配字符a到字符z之间的任一字符
    [A-Z] : 匹配字符A到字符Z之间的任一字符
    [0-9] : 匹配数组0到数字9之前的任一数字
    [0-9a-z] : 匹配数字0到数字9或字符a到字符z之间的任一字符
    [0-9a-zA-Z] : 匹配数字0到数字9或字符a到字符z或字符A到字符Z之间的任一字符
    [abcd]  :  匹配字符a或字符b或字符c或字符d
    [1234]  : 匹配数字1 或 数字2 或 数字3 或 数字4
    [^a-z] : 匹配除字符a到字符z以外的任一字符
    [^0-9] : 匹配除数字0到数字9以外的任一字符
    [^abcd] : 匹配除a、b、c、d以外的任一字符
    \d :匹配一个数字字符,还可以使用[0-9]
    \D :匹配一个非数字字符,还可以使用[^0-9]
    \w :匹配包括下划线的任何单词字符,还可以使用[0-9a-zA-Z_]
    \W :匹配任何非单词字符,还可以使用[^\w]
    \s :匹配任何空白字符,space缩写
    \S :匹配任何非空白字符,还可以使用[^\s]
    .(我是一个点号)  :匹配除 "\n" 之外的任何单个字符
    [\u4e00-\u9fa5] :匹配中文字符中的任一字符
    

    //todo 先写到这里 余下慢慢写

    相关文章

      网友评论

          本文标题:正则表达式学习(二)

          本文链接:https://www.haomeiwen.com/subject/ngeuxqtx.html