在python中re是一个常用的模块,主要是通过正则表达式进行字符串处理。它的速度相对自己用find,replace,split来说,通常更快。当然功能更强大。
正则表达式也是一种语言,所以如果通过re.compile把它编译成对象,会速度快很多。所以我们经常看到这样的语句
exp=re.compile("\S+")m=exp.search(bigtext)printm.group(0)
这段话等同于
m=re.search("\S+",bigtext)printm.group(0)
re.sub则相当于字符串操作中的replace,比如
sometext=re.sub("(?isu)\r\n","\n",sometext)
上面这句话是将回车换行,变成换行。这是为了将windows下的文本文件移到linux下,防止某些软件不兼容所做的处理。
简单的说re.sub是做字符串替换的,re.compile是将正则表达式编译成一个对象,加快速度,并重复使用。