其实工作中一直在用到正则表达式,只是用来替换的操作显然没有那么多,今天偶然遇到,还是有点陌生的,这里记录一下,希望可以熟练的掌握正则这个万能的工具。
使用之前首先要熟悉一下这个功能的参数
re.sub的功能
re是regular expression的缩写,表示正则表达式;sub是substitude的缩写,表示替换
re.sub是正则表达式的函数,实现比普通字符串更强大的替换功能
eg:
>>>import re
>>>re.sub(r'\w+','10',"xy 15 rt 3e,gep",2,flags=re.I )
'10 10 rt 3e,gep',
sub(pattern,repl,string,count=0,flag=0)
1))pattern正则表达式的字符串 eg中r'\w+',当然也可以是字符串,或者是正则表达式的一个结果。
2))repl是指你的目标字符串,即你打算用什么来替换你想要替换的对象。
3))string正则表达式匹配的内容eg中"xy 15 rt 3e,gep"
4))count:由于正则表达式匹配的结果是多个,使用count来限定替换的个数从左向右,默认值是0,替换所有的匹配到的结果eg中2
5))flags是匹配模式,可以使用按位或者“|”表示同时生效,也可以在正则表达式字符串中指定eg中flags=re.I
正则表达式比较适合运用于不规律的内容的操作,功能还是很强大的,但是会考虑到效率的问题。所以如果代码对执行效率有严格要求时一点要考虑到这方面的影响。