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之wxPython菜单使用详解
Sep 28 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
Python 防止死锁的方法
Jul 29 Python
Python pip install之SSL异常处理操作
Sep 03 Python
python利用递归方法实现求集合的幂集
Sep 07 Python
Python使用pyenv实现多环境管理
Feb 05 Python
Python实现双向链表
May 25 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 8小时时间差的解决方法小结
2009/12/22 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
python创建和删除目录的方法
2015/04/29 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
python的多重继承的理解
2017/08/06 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
python3实现表白神器
2019/04/09 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
电子商务专业自我鉴定
2013/12/18 职场文书
工厂会计员职责
2014/02/06 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
2016新年问候语大全
2015/11/11 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python