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提取页面内url列表的方法
May 25 Python
用python写的一个wordpress的采集程序
Feb 27 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
浅谈Python的list中的选取范围
Nov 12 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
如何使用Python实现斐波那契数列
Jul 02 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
Python中bisect的使用方法
Dec 31 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 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
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
Jquery插件之多图片异步上传
2010/10/20 Javascript
Position属性之relative用法
2015/12/14 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
npm的lock机制解析
2019/06/20 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
python删除不需要的python文件方法
2018/04/24 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
编程输出如下图形
2013/11/24 面试题
工业设计专业推荐信
2013/10/29 职场文书
30岁生日感言
2014/01/25 职场文书
党员活动日总结
2014/05/05 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
政协会议宣传标语
2014/10/09 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers