標籤:cooper
正則匹配-直接內容替換
s = ‘dsoheoifsdfscoopaldshfowefcoopasdfjkl;‘ss = s.replace(‘coop‘,‘###‘)print(s,‘\n‘,ss)
dsoheoifsdfscoopaldshfowefcoopasdfjkl; dsoheoifsdfs###aldshfowef###asdfjkl;
import re regex = re.compile(r‘coop‘) # 正則匹配替換
regex.sub(‘$$$$$‘,‘sdlafhksdalkfcoopasdhflcoopa;sdhf‘)
‘sdlafhksdalkf$$$$$asdhfl$$$$$a;sdhf‘
# 通過分組替換字串格式 ,mm/dd/yy -> yy-mm-dds = ‘替換日期格式:10/01/2008,12/25/2018‘re_date = re.compile(r‘(\d+)/(\d+)/(\d+)‘)re_date.sub(r‘\3-\1-\2‘,s) # 分組 1 2 3 分別對應上一行分組每個()的位置
‘替換日期格式:2008-10-01,2018-12-25‘
#########
# 替換字串中多餘的空格
s = ‘ coop regex python easy to learn,come on ‘s.strip()re_blank = re.compile(r‘\s+‘) # 匹配任意空吧字元,相當於[\t\n\r\f\v]re_blank.sub(‘‘,s)
‘coopregexpythoneasytolearn,comeon‘
案例:手機號碼,電話號:、手機號:^1\d{10}\$電話號碼必備區號版本:\d{3,4}-\d{8} \d{3}-\d{8}|\d{4}-\d{8}郵箱:電子郵件的驗證:/(\[email protected](\w+.)+\w{2,3})?/驗證Email地址: ^(\w+[-+.]\w+)
@\w+([-.]\w+).\w+([-.]\w+)*$驗證Email地址: /[email protected]+.[a-z]+/×××:×××號碼: ^(\d{15}|\d{17}(\d|x))\$
import reRE_PHONE = re.compile(r‘\d{3,4}-\d{8} \d{3}-\d{8}|\d{4}-\d{8}‘)def find_phone(text:str) -> list: return RE_PHONE.findall(text)def main(): text = ‘what ever number:110-11111111,0372-32122222‘ find_phone(text) print(find_phone(text))if __name__ == ‘__main__‘: main()
[‘0372-32122222‘]
python regex replace