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 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
举例讲解Python中的list列表数据结构用法
Mar 12 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
python实现下载整个ftp目录的方法
Jan 17 Python
python图像常规操作
Nov 11 Python
django_orm查询性能优化方法
Aug 20 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
PyCharm2019 安装和配置教程详解附激活码
Jul 31 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
python 遍历磁盘目录的三种方法
Apr 02 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 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模拟HTTP认证
2006/10/09 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
javascript radio 联动效果
2009/03/04 Javascript
动态刷新 dorado树的js代码
2009/06/12 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
Python专用方法与迭代机制实例分析
2014/09/15 Python
Python 闭包的使用方法
2017/09/07 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
施工安全协议书范本
2014/09/26 职场文书
趣味运动会开幕词
2015/01/28 职场文书
河童之夏观后感
2015/06/11 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技