简介
为了给表达式分组,我们需要将文本包裹在 () 中
有点类似于匹配子串,只不过是找出所有的子串,并且拼成一组
分组之间需要有分割符,,或者-或者_都可以
直接分组
引用分组
这个比较难以理解
\1和\2的作用有两个:
- 指代的就是前一个括号的内容
- 表示分组字符串的顺序
而且分隔符什么都可以,,或者-或者_都可以
更一般的案例
(ha)_\1,(haa)-\2
等价于(ha)_(ha),(haa)-(haa)
非引用分组
可以理解为,第一个分组不参与顺序排列(不被引用获取),所以从\1开始
等价形式:
竖线
和[cr]at|dog
的主要区别在于,[]之中的元素只能选择一个字符,我们来看一种更一般的情况
更一般的情况
括号内部的竖线两侧可以是多个字符
转义字符
^字符:以xxx开头
需要注意的是,要在字符串前面添加
$字符:以xxx结尾
需要注意的是,$要在字符串后面添加