python使用正则表达式替换匹配成功的组
发布:smiling 来源: PHP粉丝网 添加日期:2018-11-04 12:40:12 浏览: 评论:0
正则表达式简介
正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语: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>.
Tags: python 正则表达式
相关文章
- ·python根据pid杀死相应进程的教程(2018-06-22)
- ·Python time时间模块用法详解(2018-09-18)
- ·使用Pdb调试Python方法总结(2018-09-18)
- ·php与python 线程池多线程爬虫的例子(2018-10-31)
- ·Python守护进程和脚本单例运行详解(2018-11-01)
- ·python+selenium实现京东自动登录及秒杀功能(2018-11-04)
- ·python进程与线程小结实例分析(2021-11-01)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)