python 中 re.sub 和 re.compile 是啥意思呀?跪求大神解释。

 我来答
bdwisyou7d
推荐于2017-09-05 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1076万
展开全部

在python中re是一个常用的模块,主要是通过正则表达式进行字符串处理。它的速度相对自己用 find, replace, split来说,通常更快。当然功能更强大。


正则表达式也是一种语言,所以如果通过re.compile把它编译成对象,会速度快很多。所以我们经常看到这样的语句

exp = re.compile("\S+")
m = exp.search(bigtext)
print m.group(0)

这段话等同于

m = re.search("\S+", bigtext)
print m.group(0)

re.sub则相当于字符串操作中的replace,比如

sometext = re.sub("(?isu)\r\n", "\n", sometext)

上面这句话是将回车换行,变成换行。这是为了将windows下的文本文件移到linux下,防止某些软件不兼容所做的处理。


简单的说re.sub是做字符串替换的, re.compile是将正则表达式编译成一个对象,加快速度,并重复使用。

追问
多谢大神解释。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式