后向引用用于重复搜索前面某个分组匹配的文本。例如,\1代表分组1匹配的文本。
使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。
默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。
分类 | 代码/语法 | 说明 |
---|---|---|
捕获 | (exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp) | 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) | |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 |
1.1(exp)
结果只匹配到了exp,小括号的作用就是包含匹配的结果,这个行为叫做组。
1.2(?<name>exp)
对比1.1可以看到1变成了name并且成功匹配到了exp。
1.3(?:exp)
对比1.1可以看到没有只有0组,1组不见了。并且没有匹配除了exp之外的任何字符串。