美文网首页码农之前端
正则表达式【笔记】

正则表达式【笔记】

作者: O人心 | 来源:发表于2020-07-22 15:13 被阅读0次

    元字符

    • *匹配任意字符
    • ?匹配任意一个字符
    • .匹配除换行符以外的任意字符
    • \w匹配字母或数字或下划线或汉字
    • \s匹配任意的空白符
    • \d匹配数字
    • \b匹配单词的开始或结束
    • ^匹配字符串的开始
    • $匹配字符串的结束

    反义

    • \W匹配任意不是字母,数字,下划线,汉字的字符
    • \S匹配任意不是空白符的字符
    • \D匹配任意数字的字符
    • \B匹配不是单词开头或结束的位置
    • [^X]匹配除了X以外的任意字符
    • [^aeiou]匹配除了aeiou这几个字母以外的任意字符

    字符转义

    • \

    注释

    • \#

    重复模式

    • *重复零次或更多次
    • +重复一次或更多次
    • ?重复零次或一次
    • {n}重复n次
    • {n,}重复n次或者更多次
    • {n,m}重复n到m次

    字符类

      [0-9] == \d
      [a-z0-9A-Z_] == \w
      [&?.]
      [aeiou]
      \(?0\d{2}[)-]?\d{8}    //匹配固定电话
    
      ^0\d{2,3}-\d{7,8}$    //固定电话
    
      ^[(]?\d{2,3}[-\s)]\d{7,8}$   //固定电话 025-89289332,025 89289332, (025)89289332
    
      (\d{1,3}\.){3}\d{1,3}     //匹配IP
    

    贪婪与懒惰

    • *?重复任意次,但尽可能少重复
    • +?重复1次或更多次,但尽可能少重复
    • ??重复0次或1次,但尽可能少重复
    • {n,m}?重复n到m次,但尽可能少重复
    • {n,}?重复n次以上,但尽可能少重复
    • 贪婪(尽可能多)
      a.*b  (aabab) => `aabab`
    
    • 懒惰(尽可能少)匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复
        a.*?b (aabab) => `aab`
    

    零宽断言

    • ?=exp零宽度正预测先行断言,自身出现的位置的后面能匹配表达式exp
    \b\w+(?=ing\b)
    I'm `sing`ing while you're `danc`ing
    

    2020.12.15 中午

    // 校验手机号
    /^1[3456789][0-9]{9}$/;
     ||/^1[3456789]\d{9}$/ ;
    

    [234567]存放有可能的数据,也可以写成(2|3|4|5|6|7)这样的形式

    相关文章

      网友评论

        本文标题:正则表达式【笔记】

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