• 【正则表达式】笔记


    基础正则表达式速查表、正则可视化工具、常用正则

    • ^$
      表示匹配从^到&之间的内容,用于开头结尾但可以省略, ^123&必须完全匹配123
    范围:[] 、{} 、()
    • []
      约束内容。整个[]内只匹配一个字符 [abc123] 可以是abc123中的 一个 [a-zA-Z] 可以是任意一个字母;
      [^]: []内的^表示取反,  [^a-zA-Z]  指不可以是字母   
      
      • 1
    • {}
      约束数量。单独[]只匹配一个字符.所以{}表示[]里的内容的个数, 如[]{3} 指定3个字符, []{3,5} 指定3个至5个, []{3,} 3至无数个。三种特殊数量: ?、*、 +
    • ()
      表示组,一组内容视为一个整体,可以再对组做数量约束;
      还可用于对正则中一部分数据分组取出;
      分组的目的还可以重复应用,即后面内容必须和前面相等
    字符
    • .点
      表示可以匹配任意字符(除了换行) .{2,5} 匹配2至5个任意字符

    • \d
      匹配任何数字 等同于0-9 ; \D 等同^\d 不匹配任何字符

    • \w
      包括字母、数字、或下划线_

    • \s
      代表 [\r \n \t \f \v ]回车符、翻页符、空格等; \S 就是\s取反

    数量
    • ?
      表示某个内容出现0至1次,等同于 {0,1}
    • *
      表示某个内容出现0至无穷次 等同于{0,} (?和*都是对数量的约束,不指的是任意内容)
    • +
      表示某个内容出现 1至无穷次 等同于{1,}
    其他
    • \
      表示转义, 如.表示任意字符,但.表示必须匹配.这个字符

    举例: 匹配是字符或数字开头的163邮箱: ^ [a-zA-Z0-9]\w+@163.com%

    • |
      表示 或
    ()的其他用法
    • ()
      表示组,一组时一个整体,可以再对组做数量限制;还可用于对正则中一部分数据分组取出;分组的目的还可以重复应用,即后面内容必须和前面相等
    ^([a-zA-Z0-9]\w+)@163\.com%    
    ^(?[a-zA-Z0-9]\w+)@163\.com%   将邮箱@前内容取出并将分组命名为first
    
    • 1
    • 2
    ^\d\d\d\d%   表示四位数字
    ^(\d\d)\1%    \1表示后面的内容引用前面的第一个分组  所以表示第三四位要等于第一二位
    ^(?\d\d)\k%   等同于^(\d\d)\1% ,在对组取名称情况下,要用\k<>引用
    
    • 1
    • 2
    • 3
    (?=str)    匹配并取出内容,且内容还要在str前的才行   如:cdx(?=ohh)  cdxohh可以匹配,但cdxkkk就不行
    (?!)       对上述取反, 表示不能在str前的才行
    (?<=str)     匹配并取出内容,且内容还要在str后的才行    cdx(?<=ohh)  ohhcdx
    (?
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    虚函数表存储的位置(解析C++内存分配及其编译分段)
    动态规划之回文串问题
    基于TMS320F28377D开发板的DSP CLA算法案例开发手册
    堆排序算法
    Mock工具之Moco使用教程
    铝合金脚手架脚手架使用前要了解的事项
    【51单片机】9-定时器和计数器
    实际电容的频率特性
    大家在日常工作中有哪些非常好用的在线办公软件?
    山东ITSS信息化资质
  • 原文地址:https://blog.csdn.net/qq_45494908/article/details/126015393