梗概
为方便提取匹配到的指定部分内容, 用圆括号()把指定内容括起来, 表示捕获组
- 替换的时候可以用
$1(或正则表达式中使用\1或\2…)表示第一个捕获组中匹配到的内容, 同理$2为第二个捕获组中的内容 - 而有时需要使用
()来分组, 但又不想要因此多出一组捕获结果, 需要用非捕获组:(?:)- 这时通过
$1(或$2…\1,\2…), 是得不到非捕获组中的字符串 - 但仍会匹配
(?:)中的字符串
- 这时通过
- child::命名捕获组
- 命名捕获组依然可以通过捕获组的序号获取