• 正则表达式基础知识


    1.字符组 [] 允许匹配一组可能出现的字符。

    2.字符数组开头使用 ^ 字符实现取反操作,从而可以反转一个字符组(意味着会匹配任何指定字符之外的所有字符)

    3.正则表达式引擎在字符组中使用连字符(-)代表区间,依照这个规则,我们可以总结出三点:
    要匹配任意数字可以使用[0-9];
    如果想要匹配所有小写字母,可以写成[a-z];
    想要匹配所有大写字母可以写成[A-Z]。

    4.在正则中使用 \ 就可以进行对特殊符号进行转义,对 - 进行转义就可以表示为 \-,即 \- 就代表了 - 号本身。因为正则表达式中()代表分组,所以如果要匹配()就需要将使用转义符\,例如要匹配)就要写成 \)
    5.几种快捷方式:
    \d   数字
    \w  数字,字母
    \s  空格
    \b  单词边界
    快捷方式可取反,换成大写字母即可
    注:^在[]里表示取反,^字符在[]外表示匹配已该字符开头的
    6.

    字符$表示匹配以该字符结尾的
    .代表任意单个字符,它只能出现在方括号以外,     .字符只有一个不能匹配的字符,也就是换行符(\n)
    字符?指定一个字符、字符组或其他基本单元可选,这意味着正则表达式引擎将会期望该字符出现零次或一次。
    常用组合:.?
    7.在一个字符组后加上{N} 就可以表示在它之前的字符组出现N次。

    {x}:x个

    {m,}:至少m个

    {m,n}:至少m个,至多n个
    \d{3,4} 既可以匹配3个数字也可以匹配4个数字,不过当有4个数字的时候,优先匹配的是4个数字,这是因为正则表达式默认是贪婪模式,即尽可能的匹配更多字符,而要使用非贪婪模式,我们要在表达式后面加上 ?号。
    还可以使用两个速写字符指定常见的重复情况,可以使用 + 匹配1个到无数个,使用 *代表0个到无数个。即:+等价于{1,},*等价于{0,}。


    8.在正则表达式中还提供了一种将表达式分组的机制,当使用分组时,除了获得整个匹配。还能够在匹配中选择每一个分组。要实现分组很简单,使用()即可。
    使用分组的同时还可以使用 或者(or)条件。例如要提取所有图片文件的后缀名,可以在各个后缀名之间加上一个 |符号:

    9.有时候,我们并不需要捕获某个分组的内容,但是又想使用分组的特性。这个时候就可以使用非捕获组(?:表达式),从而不捕获数据,还能使用分组的功能。

    10.如果想让后面分组的正则和第一个分组的正则匹配同样的数据,可以使用分组的回溯引用,使用\N可以引用编号为N的分组
     

  • 相关阅读:
    嵌入式软件打log的一些心得
    2022,TO B投资不相信「故事」
    分享一点PDF中获取表格的探索过程
    web网页设计期末课程大作业:美食餐饮文化主题网站设计——HTML+CSS+JavaScript美食餐厅网站设计与实现 11页面
    FISCO BCOS(三十七)———FISCOBCOS应用开发,交易hash、区块高度的获取
    10-Mysql内核查询成本计算实战-05
    【深入理解Kotlin协程】使用Job控制协程的生命周期
    cmake学习笔记 二
    Java进阶篇--Condition与等待通知机制
    Window 10下SQL Server的安装配置以及C++使用案例
  • 原文地址:https://blog.csdn.net/qq_62767608/article/details/125569710