Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

前言:

今天为大家带来的内容是:Python 实用技巧之正则表达式查找和替换文本的操作方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下!!!

1、需求

我们想对字符串中的文本做查找和替换。

2、解决方案

对于简单的文本模式,使用str.replace()即可。

例如:

12192974-e4b2e1c3887ebc7c
Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

运行结果:
mark ,帅哥,19,193 帅,mark

            mark ,帅哥,18,183 帅,mark

针对更为复杂的模式,可以使用re模块中的sub()函数。

实例:将日期格式从“10/19/2019”改为“2019-10-19”

12192974-ca20beedb957bd35
Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

结果:

           今天是:2019-10-19

           今天是:10/19/2019

sub()的第一个参数是要匹配的模式,第二个参数是要替换的模式。类似的“3”这样的反斜线加数字表示模式中捕获组的编号。

如果打算用相同的模式执行重复替换,可以考虑先将模式编译以获得更好的性能。

实例:

12192974-2266dffc3d2799be
Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

结果:

            今天是:10/19/2019

            今天是:10/19/2019

</pre>

对于更加复杂的情况,可以指定一个替换回调函数。

示例:

12192974-c0db383800782ce7
Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

结果:
今天是:2019 Nov 19

                               今天是:10/19/2019

替换回调函数的输入参数是一个匹配对象,由match()和find()返回。用.group()方法来提取匹配中特定的部分。该函数返回替换后的文本。

除了得到替换后的文本外,如果还想知道一共完成了多少次替换,可以使用re.subn()。

示例:

12192974-6115b82bd9d0b6eb
Python基础知识:实用技巧之正则表达式查找和替换文本的操作方法

结果:

        今天是:10/19/2019,昨天是10/18/2019

        今天是:2019-10-19,昨天是2019-10-18

3、分析

除了以上展示的sub()调用之外,关于表达式的查找和替换并没有什么更多可说的了,最有技巧性的地方就是指定的正则表达式。。

总结

以上所述是小编给大家介绍的Python 实用技巧之正则表达式查找和替换文本的操作方法,希望对大家有所帮助。

python程序员交流群:877562786(群里含大量学习资料,面试宝典等)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章