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实现Const详解
Jan 27 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
python将图片转base64,实现前端显示
Jan 09 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
在jupyter notebook中调用.ipynb文件方式
Apr 14 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 28 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
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
运行时异常与一般异常有何异同?
2014/01/05 面试题
煤矿班组长的职责
2013/12/25 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
大学军训感言200字
2014/02/26 职场文书
社区交通安全实施方案
2014/03/22 职场文书
环境整治工作方案
2014/05/18 职场文书
财务检查整改报告
2014/11/06 职场文书
2015年暑期见闻
2015/07/14 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
python基础入门之字典和集合
2021/06/13 Python
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android