python - 谁的正则表达式更快? python 或 perl

标签 python regex perl

我在维基页面看到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/

相关文章:

Python正则表达式检索两个不同分隔符之间的数字

perl - 如何在我的 Perl 模块测试中检查网络可用性?

perl - perl 中的 C++ getch()?

python - 查找列表中最小数字的索引值?

python - 关闭终端后停止高级 Python 调度程序作业

regex - libc regcomp 和 regexec 中的多字节字符

perl - 如何使用 mod_perl 和 CGI​​::Application 提供临时文件下载?

Python ImportError - 包

python - 你如何将sql的输出写入python中的csv文件

regex - linux正则表达式匹配字符ß