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网络编程之文件下载实例分析
May 20 Python
5种Python单例模式的实现方式
Jan 14 Python
Python自定义类的数组排序实现代码
Aug 28 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Android分包MultiDex策略详解
Oct 30 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
Feb 07 Python
python3.4实现邮件发送功能
May 28 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 Python
在Python中通过threshold创建mask方式
Feb 19 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 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
解决中英文字符串长度问题函数
2007/01/16 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
python 正则表达式 概述及常用字符
2009/05/04 Python
python友情链接检查方法
2015/07/08 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
flask框架视图函数用法示例
2018/07/19 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Python自动抢红包教程详解
2019/06/11 Python
Python Map 函数的使用
2020/08/28 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
中班中秋节活动反思
2014/02/18 职场文书
法制宣传月活动方案
2014/05/11 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
MongoDB 常用的crud操作语句
2021/06/20 MongoDB