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的即时标记项目练习笔记
Sep 18 Python
python 使用get_argument获取url query参数
Apr 28 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
Python PyCharm如何进行断点调试
Jul 05 Python
Python 中@property的用法详解
Jan 15 Python
python线程池如何使用
May 28 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
Python字典的基础操作
Nov 01 Python
基于Python实现流星雨效果的绘制
Mar 18 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
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JS如何生成动态列表
2020/09/22 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
Python实现单词拼写检查
2015/04/25 Python
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
python机器学习之神经网络(三)
2017/12/20 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
python破解zip加密文件的方法
2018/05/31 Python
Python类装饰器实现方法详解
2018/12/21 Python
基于python实现高速视频传输程序
2019/05/05 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
python导入库的具体方法
2020/06/18 Python
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
十八大报告观后感
2014/01/28 职场文书
农贸市场管理制度
2014/01/31 职场文书
房租涨价通知
2015/04/23 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
导游词之海南天涯海角
2019/12/05 职场文书