python 正则表达式参数替换实例详解

yipeiwu_com5年前Python基础

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

本章节主要介绍python 正则表达式参数替换。

使用正则表达式替换字典数据

${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规则,替换串,被替换串,替换次数,修饰符):匹配字符并替换。

总结

以上所述是小编给大家介绍的python 正则表达式参数替换实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python使用tkinter库实现五子棋游戏

python使用tkinter库实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下 一、运行截图: 二、代码 # 用数组定义一个棋盘,棋盘大小为 15×15 # 数组索引代表...

Python实现文件复制删除

 用python实现了一个小型的工具。其实只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文件复制到同一指定,过滤掉不需要的文件夹(.svn),...

python中的列表推导浅析

列表推导(List comprehension)的作用是为了更方便地生成列表(list)。 比如,一个list变量的元素均为数字,如果需要将每个元素的值乘以2并生成另外一个list,下面...

Python下简易的单例模式详解

Python 下的单例模式 要点: 1.某个类只能有一个实例; 2.它必须自行创建这个实例; 3.它必须自行向整个系统提供这个实例 方法:重写new函数 应该考虑的情况:...

django批量导入xml数据

django后台批量导入数据 在生产环境中,往往数据不是几条或者几百条,那么举个例子,将公司所有员工员工号或者帐号密码导入进后台,那就不建议你去后台一条条记录去添加了 如何从xml中批...