Bootstrap

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

简介

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

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

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

直接分组

在这里插入图片描述

引用分组

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

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

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

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

更一般的案例

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

非引用分组

在这里插入图片描述

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

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

竖线

在这里插入图片描述

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

更一般的情况

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

转义字符

在这里插入图片描述

^字符:以xxx开头

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

$字符:以xxx结尾

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

\d:匹配单个数字字符

在这里插入图片描述

\D:匹配非数字字符

在这里插入图片描述

\s:匹配空格

在这里插入图片描述

\S:匹配非空格

在这里插入图片描述

;