您可以在Python中预编译正则表达式,将它们保存到文件中,然后从文件中重新加载它们吗



我有一个应用程序,它从Excel文件加载一个大型正则表达式表,编译它们,然后使用它们来执行其功能。Python编译正则表达式大约需要2分钟,随着我在Excel文件中添加更多表达式,这一时间会增加。Excel文件不会经常更改,所以每当Excel文件没有更改时,我都希望避免两分钟以上的启动时间。

有没有一种方法可以将编译后的正则表达式缓存到一个文件中,当Excel文件没有更改时,我可以加载该文件?

您可以将编译后的正则表达式存储在pickle文件中:

import re
import pickle
r1 = re.compile('ddd')
with open('tmp', 'wb') as fh:
pickle.dump(r1, fh)

with open('tmp', 'rb') as fh:
r2 = pickle.load(fh)
print(r2.match('673'))

<re。匹配对象;span=(0,3(,match='673'>

最新更新