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星号*与**用法分析
Feb 02 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
Django 跨域请求处理的示例代码
May 02 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
python 读取Linux服务器上的文件方法
Dec 27 Python
python实现两张图片的像素融合
Feb 23 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Python Django 简单分页的实现代码解析
Aug 21 Python
numpy 声明空数组详解
Dec 05 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
python scrapy重复执行实现代码详解
Dec 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
服务器web工具 php环境下
2010/12/29 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP编程风格规范分享
2014/01/15 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
angular动态表单制作
2018/02/23 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
Python入门篇之文件
2014/10/20 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
python一键去抖音视频水印工具
2018/09/14 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
宣传保护环境的公益广告词
2014/03/13 职场文书
毕业生工作求职信
2014/06/30 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书