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连接oracle数据库实例
Oct 17 Python
用Python实现一个简单的能够上传下载的HTTP服务器
May 05 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
python实现决策树
Dec 21 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 Python
Python实现智慧校园自动评教全新版
Jun 18 Python
python运算符之与用户交互
Apr 13 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 substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
JavaScript中click和onclick本质区别与用法分析
2018/06/07 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
理解python正则表达式
2016/01/15 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
在python中安装basemap的教程
2018/09/20 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
python 实现图片批量压缩的示例
2020/12/18 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
Java程序员面试题
2013/07/15 面试题
应聘医学检验人员自荐信
2013/09/27 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
关于运动会广播稿200字
2014/10/08 职场文书