re 正则表达式

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值