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,要處理的字符串