python使用正则表达式替换匹配成功的组


Posted in Python onNovember 17, 2017

正则表达式简介

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。在这些领域中有对计算(自动控制)的模型和对形式化语言描述与分类的研究。 1940年,Warren McCulloch与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。 1950年代,数学家斯蒂芬·科尔·克莱尼利用称之为“正则集合”的数学符号来描述此模型。肯·汤普逊将此符号系统引入编辑器QED,然后是Unix上的编辑器ed,并最终引入grep。自此,正则表达式被广泛地使用于各种Unix或者类似Unix的工具,例如Perl。

Python提供了对正则表达式的支持,它内嵌在Python中,通过Python的re模块提供。

re模块提供了类似于Perl的正则表达式语法。

通过使用正则表达式,我们可以制定需要匹配的字符串的特定格式,然后从需要处理的字符串中提取我们感兴趣的字符串。Python中的re模块也提供了像sub(),subn(),split()这些方法来实现通过正则表达式来灵活地进行文本的替换和分割。

在Python中,正则表达式会被编译成一系列的字节码,然后由通过C编写的正则表达式引擎进行执行。

好了,下面看下python使用正则表达式替换匹配成功的组,具体内容如下所示:

在前面主要学习了怎么样匹配成功,都没有修改原来的内容的。现在来学习一个匹配成功之后修改相应的内容,在这里使用sub()函数来实现这个功能,同时使用引用组号来插入原来的字符,例子如下:

#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
bold = re.compile(r'\*{2}(.*?)\*{2}')
text = 'Make this **cai**. This **junsheng**.'
print('Text:', text)
print('Bold:', bold.sub(r'<b>\1</b>', text))

结果输出如下:

Text: Make this **cai**. This **junsheng**.
Bold: Make this <b>cai</b>. This <b>junsheng</b>.

总结

以上所述是小编给大家介绍的python使用正则表达式替换匹配成功的组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
python多进程操作实例
Nov 21 Python
Python中标准模块importlib详解
Apr 16 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
pytorch 输出中间层特征的实例
Aug 17 Python
Python中的list与tuple集合区别解析
Oct 12 Python
使用python实现对元素的长截图功能
Nov 14 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
Python基于paramunittest模块实现excl参数化
Apr 26 Python
解决keras backend 越跑越慢问题
Jun 18 Python
django下创建多个app并设置urls方法
Aug 02 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 #Python
详解python eval函数的妙用
Nov 16 #Python
Python算法之图的遍历
Nov 16 #Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 #Python
python字典操作实例详解
Nov 16 #Python
python实现报表自动化详解
Nov 16 #Python
TF-IDF算法解析与Python实现方法详解
Nov 16 #Python
You might like
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
python psutil监控进程实例
2019/12/17 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
如何真正的了解python装饰器
2020/08/14 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
Linux如何为某个操作添加别名
2013/03/01 面试题
支教自我鉴定
2014/01/18 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
银行贷款承诺书
2014/03/29 职场文书
运动会方队口号
2014/06/07 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
初中历史教学反思
2016/02/19 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS