校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python re.sub 反向引用的實現

Python re.sub 反向引用的實現

熱門標簽:銀川電話機器人電話 預覽式外呼系統 煙臺電話外呼營銷系統 如何地圖標注公司 外賣地址有什么地圖標注 長春極信防封電銷卡批發 企業彩鈴地圖標注 電銷機器人錄音要學習什么 上海正規的外呼系統最新報價

re 模塊是 Python 標準庫中提供的用于處理正則表達式的模塊,利用 re 模塊可以方便的利用正則表達式實現字符串中的匹配、替換等操作

match 分組

Python re 模塊中提供了 match 函數,用來匹配字符串中指定的正則表達式規則。例如,如果想匹配到 "Isaac Newton, physicist" 中的 Isaac Newton,則可以使用正則表達式 \w+ \w+ ,運行結果如下:

>>> m = re.match("\w+ \w+", "Isaac Newton, physicist")
>>> m
re.Match object; span=(0, 12), match='Isaac Newton'>

re.match 的第一個參數是指定的正則表達式規則,第二個參數是待匹配的字符串。正則表達式規則 \w+ 表示匹配一段連續的字符,要求匹配到的字符數量大于 1。 \w+ \w+ 就表示匹配兩段連續的字符,且兩段字符中間用空格隔開

使用 match 執行匹配時會對匹配到的結果進行 分組 ,可以通過 match 返回結果的 group() 接口查看分組結果

>>> m.group(0)
'Isaac Newton'

默認情況下, match 只會產生一個分組,就是第 0 個分組,表示整個匹配到的內容。對于上面的例子,第 0 個分組就是 \w+ \w+ 匹配到的完整的內容,也就是 Issac Newton 。
使用正則表達式中的括號 () 可以手動指定匹配的分組。例如如果想把 Issac 和 Newton 做為兩個分組,那么可以將正則表達式改為 (\w+) (\w+) :

>>> m = re.match("(\w+) (\w+)", "Isaac Newton, physicist")

在 (\w+) (\w+) 這個正則表達式中,指定了兩個分組,這兩個分組匹配的內容都是 \w+ ,并且兩個分組之間用空格隔開。
使用 groups() 可以查看匹配結果中的所有分組 :

>>> m.groups()
('Isaac', 'Newton')

也可以使用 group() 接口分別查看每一個分組,其中 group(0) 仍然表示完整的匹配結果, group(1) 表示匹配結果中的第 1 個分組, group(2) 表示第 2 個分組,以此類推:

>>> m.group(0)
'Isaac Newton'
>>> m.group(1)
'Isaac'
>>> m.group(2)
'Newton'

re.sub 匹配和替換

re.match() 函數提供了正則表達式的匹配接口, re.sub() 不光能匹配正則表達式,還能替換字符串中的結果,生成一個新的字符串。
例如把字符串中 (\w+) (\w+) 匹配到的結果替換成 Albert Einstein ,可以這樣寫:

>>> re.sub("(\w+) (\w+)", "Albert Einstein", "Isaac Newton, physicist")
'Albert Einstein, physicist'

re.sub 中第 1 個參數表示匹配的正則表達式,第 2 個參數表示替換表達式,第 3 個參數表示原始字符串

這里的替換表達式是手動指定的新字符串 Albert Einstein ,他和原始字符串中的內容毫不相關。如果希望復用原始字符串中的內容,那么就需要用到 re.sub 的反向引用功能了。

反向引用

反向引用指的是在指定替換結果的過程中,可以引用原始字符串中的匹配到內容。例如 (\w+) (\w+) 在原始字符串中匹配到了 Isaac Newton ,利用匹配到的結果,將結果改寫為 FirstName: Isaac, LastName: Newton 。
既然需要引用,那么就得有一個表達式能夠表示匹配的內容。恰好 re.sub 的匹配結果也有和 re.match 一樣的分組,因此只需要在替換表達式中引用分組的結果即可。引用方式有以下幾種:

  • \number :例如 \1 ,表示匹配結果中第 1 個分組,也就是例子中的 Isaac 部分。
  • \gnumber> :例如 \g1> ,和 \number 表示法一樣,也代表了匹配結果中的第 1 個分組。與 \number 表示法相比, \gnumber> 避免了歧義。試想,如果想用 \number 把第 1 個分組匹配到的  Isaac 替換為 Isaac0 ,那么需要用 \10 ,這里本意表示在第 1 個分組后加上 0 ,但程序會識別成第 10 個分組。而使用 \gnumber> 只需要寫成 \g1>0 即可。

回到開始的例子中,將匹配結果 Isaac Newton改寫為 FirstName: Isaac, LastName: Newton ,可以用以下表達式實現:

>>> re.sub("(\w+) (\w+)", "FirstName: \g1>, LastName: \g2>", "Isaac Newton, physicist")
'FirstName: Isaac, LastName: Newton, physicist'

參考

 re — Regular expression operations
 Python re(gex)? -- Groupings and backreferences

到此這篇關于Python re.sub 反向引用的實現的文章就介紹到這了,更多相關Python re.sub 反向引用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

您可能感興趣的文章:
  • 用Python代碼自動生成文獻的IEEE引用格式的實現
  • 淺析Python模塊之間的相互引用問題
  • python3爬蟲中引用Queue的實例講解
  • python閉包與引用以及需要注意的陷阱
  • 詳解python如何引用包package
  • python 引用傳遞和值傳遞詳解(實參,形參)
  • Python參數傳遞機制傳值和傳引用原理詳解
  • Python參數傳遞對象的引用原理解析
  • python實現引用其他路徑包里面的模塊
  • python關于多級包之間的引用問題

標簽:宜昌 湖北 佳木斯 上饒 珠海 潮州 西寧 盤錦

巨人網絡通訊聲明:本文標題《Python re.sub 反向引用的實現》,本文關鍵詞  Python,re.sub,反向,引,用的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python re.sub 反向引用的實現》相關的同類信息!
  • 本頁收集關于Python re.sub 反向引用的實現的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久色在线观看| 韩国视频一区二区| 精品视频免费看| 一区二区三区日韩在线观看| av高清久久久| 一区二区三区在线视频观看| 精品视频一区二区三区免费| 婷婷六月综合亚洲| 制服丝袜亚洲网站| 国产在线播放一区二区三区| 国产欧美综合在线| 91蜜桃网址入口| 亚洲高清视频中文字幕| 日韩视频一区二区三区在线播放 | 亚洲国产精品成人综合色在线婷婷 | 成人精品视频.| 亚洲桃色在线一区| 欧美日韩国产乱码电影| 日本成人中文字幕在线视频| 欧美精品一区二区高清在线观看| 国产成人综合在线观看| 亚洲欧美日韩在线播放| 欧美一区二区三区免费在线看| 久久99热这里只有精品| 国产精品蜜臀av| 欧美视频一区二区三区四区| 韩国视频一区二区| 亚洲精品视频免费看| 日韩一区二区三区视频在线| 成人自拍视频在线| 亚洲mv在线观看| 国产欧美日韩综合| 欧美视频中文字幕| 国产成人午夜视频| 午夜a成v人精品| 国产片一区二区三区| 欧美精品一级二级三级| 大胆欧美人体老妇| 日韩主播视频在线| 亚洲同性gay激情无套| 欧美一区二区三区视频免费| 本田岬高潮一区二区三区| 国产不卡视频在线播放| 亚洲永久精品国产| 欧美激情中文字幕| 日韩视频免费观看高清完整版 | 韩国av一区二区三区四区| 一区二区三区四区不卡在线| 亚洲精品一区二区三区99| 色哟哟一区二区在线观看 | 国产精品水嫩水嫩| 精品久久一区二区三区| 欧美性大战久久久久久久| 国产精品系列在线观看| 日韩黄色免费电影| 一区二区视频在线| 国产日韩欧美在线一区| 91麻豆精品国产91久久久久久久久| 99re这里只有精品6| 国产白丝网站精品污在线入口| 婷婷开心激情综合| 一区二区高清视频在线观看| 国产精品第四页| 国产女同性恋一区二区| 欧美不卡视频一区| 91精品国产色综合久久不卡电影 | 91网站在线观看视频| 国产精品18久久久久久vr| 蜜臀av一区二区在线观看| 亚洲线精品一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 国产精品久久久久久久久免费丝袜| 精品国免费一区二区三区| 日韩精品最新网址| 日韩精品影音先锋| 精品国产电影一区二区| 久久新电视剧免费观看| 2023国产精品| 国产视频一区不卡| 国产日韩精品一区二区三区在线| 久久久久久久久久久久电影 | 国产日韩欧美电影| 欧美激情一区二区| 国产精品免费免费| 国产精品国产成人国产三级| 中文字幕乱码日本亚洲一区二区| 国产精品私人自拍| 亚洲人一二三区| 亚洲天堂网中文字| 18涩涩午夜精品.www| 国产精品伦理在线| 亚洲人吸女人奶水| 亚洲乱码国产乱码精品精小说| 国产精品美女一区二区| 中文成人综合网| 亚洲另类春色校园小说| 91麻豆精品国产91| 国产亚洲福利社区一区| 欧美精品一区男女天堂| 亚洲精品在线一区二区| 精品欧美乱码久久久久久| 日韩一区二区三区免费看 | 91福利社在线观看| 欧美性色综合网| 欧美乱妇15p| 欧美一区二区三区不卡| 国产欧美精品一区二区色综合| 国产欧美在线观看一区| 中文字幕乱码一区二区免费| 亚洲欧洲国产专区| 亚洲一区二区三区中文字幕| 亚洲综合激情小说| 亚洲图片欧美色图| 国产麻豆成人精品| a4yy欧美一区二区三区| 日本精品一区二区三区高清 | 视频在线在亚洲| 亚洲一区二区不卡免费| 日日夜夜精品视频免费| 精品一区二区免费| 粉嫩13p一区二区三区| 色吧成人激情小说| 欧美一区二区高清| 久久久99久久精品欧美| 国产精品久久久久久久午夜片| 亚洲精选免费视频| 日韩av在线发布| 高清久久久久久| 欧美日韩欧美一区二区| 精品sm在线观看| 日韩综合在线视频| 成人永久免费视频| 欧美日韩一区二区在线观看视频| 日韩欧美国产精品一区| 亚洲国产精品高清| 日本一不卡视频| 91麻豆高清视频| 日韩欧美国产综合| 亚洲欧洲av色图| 美女精品自拍一二三四| 91丨九色porny丨蝌蚪| 精品久久久久久久人人人人传媒| 日韩一区有码在线| 国产露脸91国语对白| 在线观看一区二区视频| 精品成人一区二区三区四区| 怡红院av一区二区三区| 久久精品国内一区二区三区| 成人免费毛片aaaaa**| 精品国产污污免费网站入口| 尤物视频一区二区| 国产成人免费视频精品含羞草妖精| 欧美手机在线视频| 中文字幕亚洲不卡| 九九国产精品视频| 日韩片之四级片| 一卡二卡三卡日韩欧美| 高清不卡一区二区| 欧美成人精品1314www| 亚洲与欧洲av电影| 91蝌蚪porny九色| 久久久不卡网国产精品二区| 五月婷婷色综合| 欧美伊人久久久久久久久影院| 日本一区免费视频| 国产综合色精品一区二区三区| 欧美日韩一区二区在线观看| 自拍偷自拍亚洲精品播放| 国内精品免费**视频| 91精品欧美综合在线观看最新| 亚洲国产精品国自产拍av| 韩国三级电影一区二区| 欧美一区二区三区免费在线看 | 99精品视频在线观看| 国产欧美日韩中文久久| 青娱乐精品视频| 日韩午夜激情视频| 日日摸夜夜添夜夜添国产精品| 色域天天综合网| 亚洲精品免费电影| 91色视频在线| 亚洲成a人片在线不卡一二三区| 在线免费观看日韩欧美| 亚洲精品久久嫩草网站秘色| 成人网页在线观看| 久久伊人蜜桃av一区二区| 国产精品综合二区| 中文字幕国产一区| 粉嫩蜜臀av国产精品网站| 日本一区二区三区高清不卡| 久久99精品国产.久久久久 | 九九热在线视频观看这里只有精品| 欧美日韩不卡一区二区| 亚洲成av人综合在线观看| 欧美日韩一区高清| 欧美aⅴ一区二区三区视频| 在线免费亚洲电影| 老司机精品视频线观看86| 91精品国产综合久久精品app | 亚洲一区二区三区四区五区中文|