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教程之利用pyautogui图形自动化击败重复性办公任务
在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库,就本人而言更喜欢使用pyautogui库,该库功能多,使用便利,下面这篇文章主要给大家介绍了关于python教程之利用pyautogui图形自动化击败重复性办公任务的相关资料,需要的朋友可以参考下2022-03-03一篇教程教你学会Python进制转换(十进制转二进制、八进制、十六进制)
计算机中只有1和0,所以就导致很多时候需要进制转换,本文介绍了Python进制转换,十进制转二进制,十进制转八进制,十进制转十六进制,有兴趣的可以了解一下2021-05-05
最新评论