正则 捕获组之反向引用
Posted mysgk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则 捕获组之反向引用相关的知识,希望对你有一定的参考价值。
之前写正则的时候,经常用到 (.*?) 之类的用法.一般在替换的时候会用 $1 来引用括号里面匹配到的内容
比如,
1.1.1.1 aaaa
2.2.2.2 bbbb
3.3.2.3 ccca
我们想在这段这文本的数字后面重复加上一个与最后一个数字相同的数字,即替换后的文本应该为
1.1.1.11 aaaa
2.2.2.22 bbbb
3.3.2.33 ccca
那么我们可以使用(d) 替换成 $1$1
如图:
这里括号里面的内容我们称之为 捕获组.
在替换里面我们可以使用$1进行引用,同样的在查找中我们也可以引用,称之为反向引用,只不过引用的方式改为 1,它的使用方法跟替换中基本一致
比如我们现在想把原文中同一行数字全部相同的都查找出来,那么我们可以使用反向引用来查找
如图:
此处我们使用了12
在捕获组中,第一个左括号与其匹配的右括号括起来的内容即用1引用,2同理,即第二 个左括号与其匹配的右括号括起来的内容.
在替换中也同样如此,$1 即 第一个左括号与其匹配的右括号括起来的内容
以上是关于正则 捕获组之反向引用的主要内容,如果未能解决你的问题,请参考以下文章