python使用正则表达式替换匹配成功的组并输出替换的次数


Posted in Python onNovember 22, 2017

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

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

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

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

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

本章节主要介绍python使用正则表达式替换匹配成功的组并输出替换的次数。

在前面我们学习过怎么样限制替换的次数,如果我们想知道正则表达式里匹配成功之后,替换字符串的次数,那么需要怎么办呢?这是一个好问题,这时就需要采用另一个外函数subn()了。这个函数不但输出替换后的内容,还输出替换的次数,例子:

#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
bold = re.compile(r'\*{2}(?P<bold_text>.*?)\*{2}')
text = 'Make this **cai**. This **junsheng**.'
print('Text:', text)
print('Bold:', bold.subn(r'<b>\g<bold_text></b>', text))

结果输出如下:

Text: Make this **cai**. This **junsheng**.
Bold: ('Make this <b>cai</b>. This <b>junsheng</b>.', 2)

ps:关于正则表达式有几个需要交代的

python的正则表达式如果捕获需要分组则使用这个语法(?P<命名>匹配的正则表达式)
re.compile用于编译正则表达式并返回对象
p.finditer返回所有匹配的迭代器
p.sub将匹配项传入回调函数,并且用返回值替换文本
m.groupdict,可以使用则的分组命名取相应的值

总结

以上所述是小编给大家介绍的python使用正则表达式替换匹配成功的组并输出替换的次数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
用Python脚本生成Android SALT扰码的方法
Sep 18 Python
跟老齐学Python之重回函数
Oct 10 Python
Python中urllib2模块的8个使用细节分享
Jan 01 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
python 计算两个日期相差多少个月实例代码
May 24 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
python turtle库画一个方格和圆实例
Jun 27 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
Python极值整数的边界探讨分析
Sep 15 Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 #Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 #Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 #Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 #Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 #Python
python不换行之end=与逗号的意思及用途
Nov 21 #Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 #Python
You might like
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
python逐行读写txt文件的实例讲解
2018/04/03 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
django实现后台显示媒体文件
2020/04/07 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
Python扫描端口的实现
2021/01/25 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
基层干部十八大感言
2014/01/19 职场文书
公开承诺书格式
2014/05/21 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
2016新年慰问信范文
2015/03/25 职场文书
天那边观后感
2015/06/09 职场文书