我在维基页面看到http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
python 使用非递归实现作为 grep 和 sed,而 perl 使用简单的草书实现。这是否表明 python 的正则表达式性能比 perl 的快?
最佳答案
这不是一个直接的答案,因为 Python 与 Perl 正则表达式问题的答案似乎是“视情况而定”。
如果您担心正则表达式的速度,您应该了解一些事项。一种是在可能的情况下使用普通搜索和替换,而不是正则表达式。
另一种是使用Google's re2 module ,它有多种语言的良好包装。根据我的经验,re2 比 Python 中的内置 re 模块快大约 60%,它特别出色的地方在于“病态”正则表达式,它可能比您使用内置模块所预期的要长得多。所有这一切和更多的解释 here ,在开发 re2 的 Russ Cox 的论文中。
在 Python 中,我使用并可以保证 pyre2 ,re2 的包装器,可作为 re 的直接替代品。 CPAN 搜索显示 re::engine::RE2似乎在 Perl 中提供相同的功能。
关于python - 谁的正则表达式更快? python 或 perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059033/