欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 正则表达式参数替换

程序员文章站 2022-05-28 23:06:47
使用正则表达式替换字典数据 ${memberID} 对应的正则表达式 '\$\{.*\}'解释:\$ 转义替换字符串中 $ \{ 转义替换字符串中 { . 除了\n中的任意单个自符 * 匹配*前面的字符零次或者多次 \} 转义替换字符串中 } dict = {"memberId":"${member ......
使用正则表达式替换字典数据
${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] = newvalue
print(dict)

扩展:
正则表达式常用规则
^ 匹配字符串的开头,指定字符串必须以什么开头
$ 匹配字符串结尾,指定字符串以$前的字符结尾
+ 匹配前面的字符1次或者多次 >= 1
{m} 指定匹配字符的次数
? 匹配前面字符0次或者1次

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

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

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

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

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