python 正则表达式参数替换

萝らか妹 提交于 2020-01-16 18:59:40
使用正则表达式替换字典数据
${memberID} 对应的正则表达式 '\$\{.*\}'解释:\$ 转义替换字符串中 $   \{ 转义替换字符串中 {   . 除了\n中的任意单个自符   * 匹配*前面的字符零次或者多次   \} 转义替换字符串中 }
dict = {"memberId":"${memberID}","password":"123456","loanId":"${loanId}","amount":"-100"}data = {"memberId":10001, "loanId":1}for param in dict:    value = dict[param]    if param in data.keys():        s = str(data[param])    newValue = re.sub('\$\{.*\}', s, value)    dict[param] = newValueprint(dict)扩展:正则表达式常用规则^ 匹配字符串的开头,指定字符串必须以什么开头$ 匹配字符串结尾,指定字符串以$前的字符结尾+ 匹配前面的字符1次或者多次  >= 1{m} 指定匹配字符的次数? 匹配前面字符0次或者1次

 python中通过re模块来处理正则表达式。re模块的常用方法如下:

  re.match(re规则,字符串):从头开始匹配。从字符串的第一个字符开始匹配,如果第一个字符不匹配规则,那么匹配失败。

  re.search(re规则,字符串):匹配包含。不要求从字符串的第一个字符就匹配。只要字符串当中有匹配该规则的,则就匹配成功。

  re.findall(re规则,字符串):把所有匹配的字符放在列表中并返回。

  re.sub(re规则,替换串,被替换串):匹配字符并替换。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!