正则匹配-直接内容替换

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']