七秒鱼记忆~
每天进步一点点!!!

st ='{"id":"#id#","data":"#data#","message":"#message#"}'

pattern =r'#(.*?)#'

  • findall匹配全部

st =re.findall(pattern,st)

运行结果
['id', 'data', 'message']

  • search全文匹配

匹配返回一个match对象
st =re.search(pattern,st)
运行结果
<re.Match object; span=(7, 11), match='#id#'>

如果需要获取值,则需要group,例如:
st =re.search(pattern,st).group(1)

  • sub替换参数

pattern:正则表达式,888:要替换的值,st:需要替换的字符串,数字1:表示只替换一次;0表示一次替换全部
st =re.sub(pattern,'888',st,1)
运行结果
{"id":"888","data":"#data#","message":"#message#"}

  • 获取动态数据

class Context: id =123 data='{"a":123,"c":"xzy"}' message ='ok'
while re.findall(pattern,st): v =re.search(pattern,st).group(1) st =re.sub(pattern,str(getattr(Context,v)),st,1)
运行结果
print(st)
{"id":"123","data":"{"a":123,"c":"xzy"}","message":"ok"}

posted on 2020-11-20 14:40  fishing~  阅读(156)  评论(0)    收藏  举报