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


Posted in Python onJanuary 17, 2020

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

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 代码效率的方法
Jul 03 Python
Python的Django中django-userena组件的简单使用教程
May 30 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
python实现逻辑回归的方法示例
May 02 Python
Python实现随机选择元素功能
Sep 14 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
Python 一句话生成字母表的方法
Jan 02 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
python实现文法左递归的消除方法
May 22 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
Django debug为True时,css加载失败的解决方案
Apr 24 Python
Python re.sub 反向引用的实现
Jul 07 Python
Python函数式编程实例详解
Jan 17 #Python
python实现tail -f 功能
Jan 17 #Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 #Python
python对象销毁实例(垃圾回收)
Jan 16 #Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 #Python
.dcm格式文件软件读取及python处理详解
Jan 16 #Python
用python解压分析jar包实例
Jan 16 #Python
You might like
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
简单上手Python中装饰器的使用
2015/07/12 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
python3实现微型的web服务器
2019/09/03 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
土木工程个人自荐信范文
2013/11/30 职场文书
个人查摆剖析材料
2014/02/04 职场文书
小学毕业感言500字
2014/02/28 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
微笑服务标语
2014/06/24 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
小学家长通知书评语
2014/12/31 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
Linux安装Docker详细教程
2022/07/07 Servers