python regex replace
正则匹配-直接内容替换
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-dd
s = '替换日期格式: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}
邮箱:
电子邮件的验证:/(\2+@(\w+.)+\w{2,3})?/
验证Email地址: ^(\w+[-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
验证Email地址: /.+@.+.[a-z]+/
×××:
×××号码: ^(\d{15}|\d{17}(\d|x))\$
import re
RE_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']
相关文章