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之间的那些事
Jan 07 Python
使用Python生成XML的方法实例
Mar 21 Python
Python学习思维导图(必看篇)
Jun 26 Python
python 垃圾收集机制的实例详解
Aug 20 Python
获取Django项目的全部url方法详解
Oct 26 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
python书籍信息爬虫实例
Mar 19 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
python函数指定默认值的实例讲解
Mar 29 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表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
编写Python CGI脚本的教程
2015/06/29 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
公司活动邀请函
2014/01/24 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
导游词之峨眉山
2019/12/16 职场文书