【发布时间】:2012-03-05 21:23:24
【问题描述】:
来自 Perl 的documentation:
study需要额外的时间来研究 SCALAR ($_ 如果未指定) 在下一次修改之前,字符串上有许多模式匹配。这可能会也可能不会保存 时间,取决于您正在搜索的模式的性质和数量以及分布 要搜索的字符串中的字符频率;
我正在尝试加快我在 Python 中执行的一些正则表达式驱动的解析,我记得 Perl 中的这个技巧。我意识到我必须进行基准测试以确定是否有加速,但我在 Python 中找不到等效的方法。
【问题讨论】:
-
Python 允许使用
re.compile(...)编译正则表达式对象,但这涵盖了正则表达式方面。我还没有听说过 Python 中有任何东西会研究要搜索的字符串。 -
这与Preprocess string for efficient search本质上是同一个问题。糟糕!
-
你是在问python是否有一个特性,它实际上会减慢你的匹配速度,并且不能处理超出 ASCII 的内容? (我认为他们在 5.16 中让
study成为空操作。) -
@Frg,
re.compile相当于 Perl 的qr//。
标签: python regex perl optimization