import re s='www.baidu.com/' #目标字符串 res=re.match('www',s) #全匹配 match头部匹配 print(res) #-----------> <re.Match object; span=(0, 3), match='www'> res=re.match('wwww',s) #全匹配 match头部匹配 如果开头没有匹配到,输出None print(res) # ----------> None res=re.match('(w)(ww)',s) #group() == group(0)分组,根据正则表达式里面的括号去分组 0全部 1第一组 print(res.group(2)) #-----------> ww s='hellowwwbaiducomhellowwwbaiducom/' #目标字符串 res=re.findall('baidu',s) #输出列表 在字符串里面找匹配的内容,在存在列表里 print(res) #--------> ['baidu', 'baidu'] res=re.findall('(b)(ai)(du)',s) #以元组的形式,列表里嵌套元组 print(res) #------> [('b', 'ai', 'du'), ('b', 'ai', 'du')] s='{"user_name": "yy3","password":"12345678","mobile":"${tel}","code":"123456"}' #注意 ‘{}’目标字符串 res=re.search('\$\{(.*?)\}',s) #search 每次只匹配一个 print(res.group()) #--------> ${tel} print(res.group(1)) #--------> tel from tools.get_data import GetData class DoRegx: @staticmethod def do_regx(self,s): while re.search('\$\{(.*?)\}',s): key=re.search('\$\{(.*?)\}',s).group((0)) NovTel=re.search('\$\{(.*?)\}',s).group((1)) #注意设计变量名的时候变量名要统一 new_s=s.replace(key,str(getattr(GetData,'NovTel'))) # print(key,NovTel) #----------> ${tel} tel #print(new_s) #----------> {"user_name": "yy3","password":"12345678","mobile":"17688712962","code":"123456"} return new_s if __name__ == '__main__': s='{"user_name": "yy3","password":"12345678","mobile":"${tel}","code":"123456"}' res=DoRegx.do_regx(s)