python使用正则表达式替换匹配成功的组并输出替换的次数

 更新时间:2017年11月22日 11:01:21   作者:caimouse   我要评论

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。这篇文章主要介绍了python使用正则表达式替换匹配成功的组并输出替换的次数,需要的朋友可以参考下

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

本章节主要介绍python使用正则表达式替换匹配成功的组并输出替换的次数。

在前面我们学习过怎么样限制替换的次数,如果我们想知道正则表达式里匹配成功之后,替换字符串的次数,那么需要怎么办呢?这是一个好问题,这时就需要采用另一个外函数subn()了。这个函数不但输出替换后的内容,还输出替换的次数,例子:

#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
bold = re.compile(r'\*{2}(?P<bold_text>.*?)\*{2}')
text = 'Make this **cai**. This **junsheng**.'
print('Text:', text)
print('Bold:', bold.subn(r'<b>\g<bold_text></b>', text))

结果输出如下:

Text: Make this **cai**. This **junsheng**.
Bold: ('Make this <b>cai</b>. This <b>junsheng</b>.', 2)

ps:关于正则表达式有几个需要交代的

python的正则表达式如果捕获需要分组则使用这个语法(?P<命名>匹配的正则表达式)
re.compile用于编译正则表达式并返回对象
p.finditer返回所有匹配的迭代器
p.sub将匹配项传入回调函数,并且用返回值替换文本
m.groupdict,可以使用则的分组命名取相应的值

总结

以上所述是小编给大家介绍的python使用正则表达式替换匹配成功的组并输出替换的次数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python内建函数之raw_input()与input()代码解析

    Python内建函数之raw_input()与input()代码解析

    这篇文章主要介绍了Python内建函数之raw_input()与input()代码解析,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • python利用sklearn包编写决策树源代码

    python利用sklearn包编写决策树源代码

    这篇文章主要为大家详细介绍了python利用sklearn包编写决策树源代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Django rest framework工具包简单用法示例

    Django rest framework工具包简单用法示例

    这篇文章主要介绍了Django rest framework工具包简单用法,结合匿名访问控制的具体实例分析了Django rest framework工具包的注册、路由设置、视图、权限控制、配置等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • python 字符串格式化代码

    python 字符串格式化代码

    python 字符串格式化代码,需要的朋友可以参考一下
    2013-03-03
  • Python中optparse模块使用浅析

    Python中optparse模块使用浅析

    这篇文章主要介绍了Python中optparse模块使用浅析,optparse模块主要用来为脚本传递命令参数功能,需要的朋友可以参考下
    2015-01-01
  • python连接sql server乱码的解决方法

    python连接sql server乱码的解决方法

    为解决python连接sql server是出现的乱码,需要在连接sql server 时指定字符集utf8(client charset = UTF-8),python环境制定了字符集变量(#coding=utf-8 )
    2013-01-01
  • Python SQLite3数据库操作类分享

    Python SQLite3数据库操作类分享

    这篇文章主要介绍了Python SQLite3数据库操作类分享,需要的朋友可以参考下
    2014-06-06
  • Python GAE、Django导出Excel的方法

    Python GAE、Django导出Excel的方法

    在Python中操作Excel的方法可以通过COM,最常用的跨平台的方法是使用pyExcelerator,pyExcelerator的使用方法可以参考limodou的《使用pyExcelerator来读写Excel文件》。
    2008-11-11
  • 速记Python布尔值

    速记Python布尔值

    这篇文章主要介绍了速记Python布尔值,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python paramiko模块学习分享

    python paramiko模块学习分享

    这篇文章主要为大家分享了python paramiko模块的学习资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论