我在wiki页面上看到了http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
python使用非递归实现作为grep和sed,而perl one使用简单的草书impl。这是否表明python的regex性能比perl快?
最佳答案
这不是一个直接的答案,因为Python v.Perl正则表达式问题的答案似乎是“它取决于”。
如果你担心regex的速度,有一些事情你应该研究一下。一种是尽可能使用纯搜索和替换,而不是正则表达式。
另一种是使用Google's re2 module,它在许多语言中都有很好的包装。根据我的经验,re2比python中的内置re模块快60%左右,特别引人注目的是它使用的“病态”regex表达式可能比使用内置模块所需的时间要长得多。所有这些和更多的解释都是由开发re2的russ cox在论文中解释的。
在Python中,我使用并可以担保here,re2的包装器,它充当re的替代品cpan搜索显示pyre2在perl中似乎提供相同的功能。