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基础教程之Hello World!
Aug 29 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
用Python将动态GIF图片倒放播放的方法
Nov 02 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
python自动发邮件库yagmail的示例代码
Feb 23 Python
python3爬取各类天气信息
Feb 24 Python
python实现键盘控制鼠标移动
Nov 27 Python
python调用外部程序的实操步骤
Mar 04 Python
python中dict使用方法详解
Jul 17 Python
python redis 批量设置过期key过程解析
Nov 26 Python
Python 音频生成器的实现示例
Dec 24 Python
python中如何使用虚拟环境
Oct 14 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中的类-什么叫类
2006/11/20 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
浅析javascript中function 的 length 属性
2014/05/27 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
5款非常棒的Python工具
2018/01/05 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python数据分析:关键字提取方式
2020/02/24 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
专科毕业生自我鉴定
2013/12/01 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
商场消防管理制度
2014/01/12 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
社会实践活动总结报告
2014/04/29 职场文书
人大调研汇报材料
2014/08/14 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
在Python中如何使用yield
2021/06/07 Python