之前寫正則的時候,經常用到 (.*?) 之類的用法.一般在替換的時候會用 $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 即 第乙個左括號與其匹配的右括號括起來的內容
java正則反向引用
backreference 反向引用.與捕獲組匹配的輸入字串結果儲存在記憶體中,以便以後通過反向引用進行呼叫。用 數字,表示要引用的group 數字 普通捕獲組反向引用 k,通常簡寫為 number 命名捕獲組反向引用 k或者 k name 源表示式 1212 正規表示式 d d 1 匹配結果 12...
正規表示式之捕獲組 非捕獲組
語法 字元 描述 示例 pattern 匹配pattern並捕獲結果,自動設定組號。abc d 匹配abcd或者abcabcd pattern 或 name pattern 匹配pattern並捕獲結果,設定name為組名。num 對捕獲組的反向引用。其中 num 是乙個正整數。w w 2 1 匹配...
正規表示式之捕獲組 非捕獲組介紹
捕獲組 語法 字元 描述 示例 pattern 匹配pattern並捕獲結果,自動設定組號。abc d 匹配abcd或者abcabcd pattern 或 name pattern 匹配pattern並捕獲結果,設定name為組名。num 對捕獲組的反向引用。其中 num 是乙個正整數。w w 2 ...