正则表达式(Ⅲ)——分组匹配

简介

为了给表达式分组,我们需要将文本包裹在 () 中

有点类似于匹配子串,只不过是找出所有的子串,并且拼成一组

分组之间需要有分割符,,或者-或者_都可以

直接分组

在这里插入图片描述

引用分组

在这里插入图片描述
这个比较难以理解

\1和\2的作用有两个:

  1. 指代的就是前一个括号的内容
  2. 表示分组字符串的顺序

而且分隔符什么都可以,,或者-或者_都可以

更一般的案例

在这里插入图片描述
(ha)_\1,(haa)-\2等价于(ha)_(ha),(haa)-(haa)
在这里插入图片描述

非引用分组

在这里插入图片描述

可以理解为,第一个分组不参与顺序排列(不被引用获取),所以从\1开始

等价形式:
在这里插入图片描述

竖线

在这里插入图片描述

[cr]at|dog的主要区别在于,[]之中的元素只能选择一个字符,我们来看一种更一般的情况

更一般的情况

在这里插入图片描述
括号内部的竖线两侧可以是多个字符

转义字符

在这里插入图片描述

^字符:以xxx开头

在这里插入图片描述
需要注意的是,要在字符串前面添加

$字符:以xxx结尾

在这里插入图片描述

需要注意的是,$要在字符串后面添加

\w:匹配单个字母数字下划线

在这里插入图片描述

\W:匹配除了字母数字下划线之外的单个字符

在这里插入图片描述

\d:匹配单个数字字符

在这里插入图片描述

\D:匹配非数字字符

在这里插入图片描述

\s:匹配空格

在这里插入图片描述

\S:匹配非空格

在这里插入图片描述

相关推荐

  1. 匹配/表达式

    2024-07-18 07:42:02       48 阅读
  2. LeetCode-10. 表达式匹配

    2024-07-18 07:42:02       56 阅读
  3. leetCode算法—10. 表达式匹配

    2024-07-18 07:42:02       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 07:42:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 07:42:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 07:42:02       57 阅读
  4. Python语言-面向对象

    2024-07-18 07:42:02       68 阅读

热门阅读

  1. uniapp 获取自定义组件的高度

    2024-07-18 07:42:02       23 阅读
  2. 控制台小游戏制作——贪吃蛇

    2024-07-18 07:42:02       18 阅读
  3. Python高级函数技术:闭包、装饰器与回调

    2024-07-18 07:42:02       24 阅读
  4. 07. Hibernate 会话工厂(SessionFactory)

    2024-07-18 07:42:02       22 阅读
  5. 网络抓包工具tcpdump的使用

    2024-07-18 07:42:02       22 阅读
  6. 构建之源:深入解析Gradle的settings.gradle文件

    2024-07-18 07:42:02       22 阅读
  7. 构建Scala项目的魔法:Gradle中配置Scala插件

    2024-07-18 07:42:02       22 阅读
  8. Starrocks创建物化视图时不能写select *

    2024-07-18 07:42:02       20 阅读
  9. C语言——指针简介及基本要点

    2024-07-18 07:42:02       20 阅读
  10. uniapp小程序项目解决键盘问题

    2024-07-18 07:42:02       21 阅读
  11. C# 类型的默认值

    2024-07-18 07:42:02       20 阅读