简介
为了给表达式分组,我们需要将文本包裹在 () 中
有点类似于匹配子串,只不过是找出所有的子串,并且拼成一组
分组之间需要有分割符,,或者-或者_都可以
直接分组

引用分组

这个比较难以理解
\1和\2的作用有两个:
- 指代的就是前一个括号的内容
- 表示分组字符串的顺序
而且分隔符什么都可以,,或者-或者_都可以
更一般的案例

(ha)_\1,(haa)-\2等价于(ha)_(ha),(haa)-(haa)

非引用分组

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

竖线

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

括号内部的竖线两侧可以是多个字符
转义字符

^字符:以xxx开头

需要注意的是,要在字符串前面添加
$字符:以xxx结尾

需要注意的是,$要在字符串后面添加
\w:匹配单个字母数字下划线

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

\d:匹配单个数字字符

\D:匹配非数字字符

\s:匹配空格

\S:匹配非空格




















