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中集合类型(set)学习小结
Jan 28 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
Python开发的实用计算器完整实例
May 10 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
python使用Qt界面以及逻辑实现方法
Jul 10 Python
Python2与Python3的区别点整理
Dec 12 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 Python
Python如何定义有可选参数的元类
Jul 31 Python
详解python metaclass(元类)
Aug 13 Python
使用Python操作MySQL的小技巧
Sep 10 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
php通过session防url攻击方法
2014/12/10 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
angular.element方法汇总
2015/01/07 Javascript
javascript常用的方法分享
2015/07/01 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
深入解析Python中的集合类型操作符
2015/08/19 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
应届行政管理专业个人自我评价
2013/12/28 职场文书
办理生育手续介绍信
2014/01/14 职场文书
总经理工作职责范文
2014/03/14 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
部队2014年终工作总结
2014/11/27 职场文书