1. 程式人生 > >正則 捕獲組之反向引用

正則 捕獲組之反向引用

orien gem strip https 3.3 引用 文本 相同 ges

之前寫正則的時候,經常用到 (.*?) 之類的用法.一般在替換的時候會用 $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 即 第一個左括號與其匹配的右括號括起來的內容

正則 捕獲組之反向引用