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中Continue语句的用法的举例详解
May 14 Python
简介Django框架中可使用的各类缓存
Jul 23 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
微信跳一跳python代码实现
Jan 05 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python解决八皇后问题示例
Apr 22 Python
Flask之flask-script模块使用
Jul 26 Python
python 对多个csv文件分别进行处理的方法
Jan 07 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
python 使用pandas读取csv文件的方法
Dec 24 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中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php树型类实例
2014/12/05 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python write无法写入文件的解决方法
2019/01/23 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
就业协议书范本
2014/04/11 职场文书
团代会开幕词
2015/01/28 职场文书
铁人观后感
2015/06/16 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL