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实现QQ游戏大家来找茬辅助工具
Sep 14 Python
Python函数式编程
Jul 20 Python
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
详解python while 函数及while和for的区别
Sep 07 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
浅析python redis的连接及相关操作
Nov 07 Python
python中数字是否为可变类型
Jul 08 Python
Python操作MySQL数据库的示例代码
Jul 13 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
php长字符串定义方法
2012/07/12 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
一行代码告别document.getElementById
2012/06/01 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
python之消除前缀重命名的方法
2018/10/21 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python实现智能语音天气预报
2019/12/02 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
文化建设工作方案
2014/05/12 职场文书
党员志愿者活动总结
2014/06/26 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
安全教育第一课观后感
2015/06/17 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers