冥界3大法王 发表于 2020-10-14 07:56

正则表达式为啥有个【编译 re.compile】?

https://docs.python.org/zh-cn/3.7/library/re.html#re-objects      


re.compile

最看不明白的就是这了。。。为了提供给几个函数。。。提升速度?但也失去一些参数的优化。
图啥呢?速度? 不用好像也不影响吧?

涛之雨 发表于 2020-10-14 08:09

主要是为了方便重复使用吧

冥界3大法王 发表于 2020-10-14 08:14

涛之雨 发表于 2020-10-14 08:09
主要是为了方便重复使用吧

我要不编译呢?

涛之雨 发表于 2020-10-14 08:17

冥界3大法王 发表于 2020-10-14 08:14
我要不编译呢?

没问题吧。
我反正不喜欢用{:301_986:}

zfzhhh 发表于 2020-10-14 08:29

你喜欢用哪个就用哪个的
不用compile和用的速度都差不多,后台都自动帮你compile了

kesai 发表于 2020-10-14 09:11

本帖最后由 kesai 于 2020-10-14 09:12 编辑

这个在执行重叠匹配的时候比较实用,一般用于动态匹配,比如如果匹配项有很多,但我只需要找到中间某一个或者需要边匹配边执行某些操作

rsnodame 发表于 2020-10-14 09:11

冥界3大法王 发表于 2020-10-14 08:14
我要不编译呢?

不编译也能用。预先编译提高重复调用的速度

c03xp 发表于 2020-10-14 13:49

假如调用者不知道具体是什么模式呢?
我只要返回给调用者一个 regex对象,调用者不需要知道具体模式是什么,他只管去调用regex的findAll成员函数就行了

thepoy 发表于 2020-10-14 21:58

本帖最后由 thepoy 于 2020-10-14 22:01 编辑

你还别说,我就经常用compile,而且,官方文档也说了compile的好处:

而且,正则表达式有什么参数是可以优化的?

leon406 发表于 2020-10-15 13:25

优化性能

一个是创建多次
一个是创建一次
页: [1] 2
查看完整版本: 正则表达式为啥有个【编译 re.compile】?