码迷,mamicode.com
首页 > 其他好文 > 详细

正则 捕获组之反向引用

时间:2018-08-05 22:31:16      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:捕获组   rip   code   load   引用   技术分享   pre   $1   一个   

之前写正则的时候,经常用到 (.*?) 之类的用法.一般在替换的时候会用 $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,它的使用方法跟替换中基本一致
比如我们现在想把原文中同一行数字全部相同的都查找出来,那么我们可以使用反向引用来查找
如图:
技术分享图片

此处我们使用了\1\2
在捕获组中,第一个左括号与其匹配的右括号括起来的内容即用\1引用,\2同理,即第二 个左括号与其匹配的右括号括起来的内容.
在替换中也同样如此,$1 即 第一个左括号与其匹配的右括号括起来的内容

正则 捕获组之反向引用

标签:捕获组   rip   code   load   引用   技术分享   pre   $1   一个   

原文地址:https://www.cnblogs.com/mysgk/p/9427269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!