Python re模塊

1.re.sub
用re替換string中每一個匹配的子串後返回替換後的字符串。

re.sub(pattern, repl, string, count)

re.sub功能是對於一個輸入的字符串,利用正則表達式,來實現字符串替換處理的功能返回處理後的字符串

re.sub共有五個參數
三個必選參數 pattern,repl,string
兩個可選參數count,flags

(1)pattern,表示正則中的模式字符串
反斜槓加數字(\n)表示對應匹配的組也就是用之前匹配到的字符串補充到這個位置,例如
將“hello python,ni hao c,zai jian python”替換爲PHP,代碼如下替換成功

import re
inputStr="hello python,ni hao c,zai jian python"
replaceStr=re.sub(r"hello (\w+),ni hao (\w+),zai jian \1","PHP",inputStr)
print(replaceStr)

代碼中的\1表示第一次匹配到的字符串也就是“python”,這樣可以匹配原來的字符串,從而整個字符串替換爲PHP
若改爲下面這樣

import re
inputStr="hello python,ni hao c,zai jian python"
replaceStr=re.sub(r"hello (\w+),ni hao (\w+),zai jian \2","PHP",inputStr)
print(replaceStr)

代碼中的\2表示第二次匹配到的字符串也就是“c”,顯然不能和原來的字符串匹配,所以不會替換
這裏是爲了說明區別\n代表的是第n次所匹配到字符串,而不是第n次用到的匹配模式

(2)repl,表示要被替換的,可以是字符串也可以是函數,
如果是字符串,則所有的反斜槓轉義字符都會被處理
\n:被處理爲對應的換行符
\r :被處理爲回車符
不能被識別的轉義字符,則只是被識別爲普通的字符,例如:\j被處理爲j這個字母本身
反斜槓加g以及中括號內一個名字,即\g對應命名了的組

(3)string,要處理的字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章