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 数据加密代码
Dec 24 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
django rest framework之请求与响应(详解)
Nov 06 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
python中时间模块的基本使用教程
May 14 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 Python
golang中的空接口使用详解
Mar 30 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 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
JAVA/JSP学习系列之六
2006/10/09 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
浅谈vue的第一个commit分析
2020/06/08 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
python Django 创建应用过程图示详解
2019/07/29 Python
opencv实现简单人脸识别
2021/02/19 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
美国知名生活购物网站:Goop
2017/11/03 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
计算机专业推荐信范文
2013/11/20 职场文书
普师专业个人自荐信范文
2013/11/26 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
信息合作协议书
2014/10/09 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫