正則 捕獲組之反向引用
之前寫正則的時候,經常用到 (.*?) 之類的用法.一般在替換的時候會用 $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 即 第一個左括號與其匹配的右括號括起來的內容
正則 捕獲組之反向引用
相關推薦
正則 捕獲組之反向引用
orien gem strip https 3.3 引用 文本 相同 ges 之前寫正則的時候,經常用到 (.*?) 之類的用法.一般在替換的時候會用 $1 來引用括號裏面匹配到的內容 比如, 1.1.1.1 aaaa 2.2.2.2 bbbb 3.3.2.3 ccca 我
正則表示式——捕獲組和反向引用
正則表示式的捕獲組和反向引用: 使用小括號指定一個子表示式後,匹配這個子表示式的文字(也就是此分組捕獲的內容)可以在表示式或其他程式中作進一步處理。預設情況下,每個分組會自動擁有一個組號,規則是:從左向右,以分組的左括號為標誌,第一個出現的分組的組號為1,第二
backreference Oracle正則表示式中的反向引用
這是Oracle對正則表示式的backreference的描述 從定義中可以看到,當匹配表示式中已()的形式將一個子串包含起來,後面就可以以\?的形式來引用。\1對應第一個(),\2對應第二個... 反向引用的引入使得正則表示式的匹配功能變得更加強大,介紹兩個在ora
[正則表達式]PCRE反向分組引用(語法)
一個 正則 () 規則 引用 aaa 沒有 ron 運用 正則表達式中,凡出現圓括號(),括號中的匹配內容就會被認為是一個分組; 根據括號從左邊出現的順序命名分組代號,分組代號由1到n(代號0通常被一些語言用來引用整個表達式匹配的結果,即使這個表達式沒有分組括號,但是表達
正則表達式之分組
表達式 字符串 假設有如下幾行文本:"xxx" : {"name" : "123"} "yyy" : {"name" : "456"} "zzz" : {"name" : "789"} 如果匹配出第1條和第3條,那麽可以使用以下的正則表達式:"((xxx)|(zzz))".* 其中,最外層的括
nginx rewrite正則子組最多匹配到$9
spl html splay erb ice line display and 需要 nginx rewrite正則匹配()匹配子組最多匹配到$9,就是從$0到$9 當需要匹配更多子組時,可通過變量來實現 if ($uri ~ ^/forum-15/sortid-74/(.
刨根究底正則表達式之零——前言
modifier rcu latex 多人 www 不同 空間 收藏 link 前言 一、緣起 1. 前面在字符編碼系列文章的前言中曾說過,類似於字符編碼這樣基礎、重要、應用廣泛而又特別容易讓人困惑的主題還有字節序(即大小端表示)、正則表達式以及浮點數實現、日期時間
Python正則表達式之findall疑點
div 表達 clas 例子 表達式 如何實現 如何 正則表達式 正則表達 在findall中使用()進行分組時,得出的結果會優先提取分組的,比如下面這個例子 1 In [46]: re.findall(r"www.(baidu|163).com", "www.baidu
正則表達式之匹配中文漢字的正則表達式介紹
我想 但是 則表達式 來講 介紹 bsp code 分鐘 想要 這篇文章主要介紹了通過正則表達式準確匹配出字符串中存在的中文漢字,同時還有匹配雙字節字符的正則,需要的朋友可以參考下 \w匹配的僅僅是中文,數字,字母,但是對於特殊需求來講,僅匹配中文時常會用到 匹配中文字符
正則表達式之你不知道的replace
執行 兩個 引擎 logs blog 學無止境 div 國慶節 另一個 我們都知道js內置類String提供了一個replace方法,可以把指定字符串替換為另一個字符串,他的基礎用法如下: 1 var str="hello world"; 2 3 var str=str
正則表達式之Python編程
正則 表達式 正則表達式介紹正則表達式re模塊正則表達式語法字符匹配.[...]re模塊相關方法使用re.sub(patter, repl, string, count=0, flags=0)split(pattern, string, maxsplit=0, flags=0)本文出自 “運維自動化”
Linux運維正則表達式之awk
sed pro inux運維 結構 inux 更改 部分 ram root 一:Linux運維正則表達式之sed AWK是一個優良的文本處理工具,Linux及Unix環境中現有的功能最強大的數據處理引擎之一。 1.選項|參數: -F fs or --field-separa
python3進階之正則表達式之基本概念
py3 例如 它的 字符串 限制 則表達式 tab 結束 描述 1.概念 正則表達式是一種用來匹配字符串的強有力的武器。它的設計思想是用一種描述性的語言來給字符串定義一個規則,凡是符合規則的字符串,我們就認為它“匹配”了,否則,該字符串就是不合法的。 2.示例應用
python正則表達式之re模塊使用
匹配 flag clas art 則表達式 python fin pre div python第一個正則表達式 r‘imooc‘ Pattern Match result In [2]: import re In [3]: pa = re.compile(r‘imoo
Go語言的正則表式之regexp包
compile mpi exp regexp ext4 ack fun () == 正則表達式都是大同小異,隨便寫幾個案例: // code_029_regexp project main.go package main import ( "fmt" "r
Python正則表達式之 - ?: / ?= / ?!
順序存儲 一位 元字符 進制數 表達 字符串 python 緩沖區 marked Python正則表達式之 - ?: / ?= / ?! 用圓括號將所有選擇項括起來,相鄰的選擇項之間用|分隔。但用圓括號會有一個副作用,使相關的匹配會被緩存,此時可用?:放在第一個選項前來消除
正則表達式之 數據驗證 與 文本替換
密碼 表達 個數字 repl 字符 密碼強度 身份證 replace style 一、數據驗證 用戶名正則:4到16位(字母 數字 下劃線 減號); 密碼強度正則:最少6位,包括至少1個,大寫字母,1個小寫字母,1個數字,1個特殊字符; EMAIL正則:; 身份證號正則:;
Python學習筆記模式匹配與正則表達式之用正則表達式匹配更多模式
重復 實例 int clas span 就是 image 特定 mat 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線--------------------------
正則表達式之基本原理
好的 無法 初始 狀態 特性 www 提高 影響 圖片 正則文法介紹 https://www.cnblogs.com/longhuihu/p/4128203.html 要了解正則表達式的原理,需要先了解一些計算機語言文法的基礎知識。 一個文法可以用一個四元來定義,G =
JS正則表達式之--?:
正則表達 冒號 由於 http img bsp 分享圖片 image -c 使用形如(?:pattern)的正則就可以避免保存括號內的匹配結果。 ?:匹配冒號後的內容但是不獲取匹配結果;不進行儲存供以後使用 下面這個正則是為了實現只匹配以b或者c開頭的字符串,一直匹配到換