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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python中为什么要用self探讨
Apr 14 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
Windows下python3.6.4安装教程
Jul 31 Python
Python当中的array数组对象实例详解
Jun 12 Python
python如何制作英文字典
Jun 25 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
python正则表达式匹配IP代码实例
Dec 28 Python
Django重设Admin密码过程解析
Feb 10 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
pytorch加载语音类自定义数据集的方法教程
Nov 10 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
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
python版本的仿windows计划任务工具
2018/04/30 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
python温度转换华氏温度实现代码
2020/12/06 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
超市促销活动方案
2014/03/05 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
中学生自我评价范文
2015/03/03 职场文书
公司考勤管理制度
2015/08/04 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL