哪种模式在Linux系统上更有效?哪种更高效,Perl模式匹配还是grep?
2
A
回答
10
贝尔实验室的拉斯考克斯写了一个很好的文章在2007年调查中,他展示了如何使用grep
非确定性有限自动机,以提高速度超过Perl和他人。
+1
您也可以在Perl中更改您的Regex引擎。请参阅https://metacpan.org/module/re::engine::RE2 –
+4
非常好,但请更正术语问题:Perl正则表达式引擎不会使用DFA。事实上,如果它确实如此,它将与Thompson算法一样快地匹配Cox的正则表达式。 Perl和其他“慢”实现使用的是_backtracking_,这在技术上是一种模拟NFA的方法;这只是汤普森的一种方法。 (本质上,回溯使用状态空间的深度优先搜索,而汤普森算法使用宽度优先搜索。) –
0
我找到了最好的方式适合我。
之前我有一个数千个元素的数组,并grep'ped另一个数千元素的列表来从数组中获得额外的信息。
现在我把我的数组放入散列数组,然后每次都很快从数据中获取数据。
当时:
@ua1 = grep /$ip/, @ua;
目前:
$ua1[0] = $adrs{$ip};
相关问题
- 1. Erlang:哪种模式匹配更有效率(列表)?
- 2. 这两种模式匹配更适合哪种方式?
- 3. 哪种更高效:传统路由还是属性路由?
- 4. MongoDB集合 - 哪种方式更高效?
- 5. 匹配使用grep并打印匹配的模式多种模式
- 6. Perl模式匹配
- 7. 与grep匹配的模式
- 8. Grep变量模式匹配
- 9. 哪种语言可以提高字符串模式匹配的效率?
- 10. 哪种技术更高效?
- 11. 哪种编码更高效?
- 12. 哪种查询更高效?
- 13. Android - 哪种效率更高?
- 14. 哪种方式高效?
- 15. 跨多个文件匹配模式:perl或grep?
- 16. 使用grep的Perl多行模式匹配
- 17. AWK Perl的grep的模式匹配忽略
- 18. 哪种风格的代码更好:是高效还是分离问题?
- 19. grep“?”不匹配有效匹配
- 20. perl模式匹配数组
- 21. 与Perl匹配的模式
- 22. perl中的模式匹配
- 23. Perl模式匹配问题
- 24. 哪种功能更快更高效?
- 25. 通过引用传递还是重新分配?哪个更好/更高效/ etc?
- 26. grep模式,匹配多个文件
- 27. 为什么grep的匹配模式“\'”
- 28. 使用grep命令匹配模式
- 29. grep只从模式中精确匹配
- 30. Octave:哪种方法更高效
有疑问时,[基准](http://search.cpan.org/perldoc?Benchmark)它。它完全取决于你的正则表达式和grep的样子,当然还有你的输入。 – TLP
你用它来做什么。 'if(/ foo /)'如果比使用'grep'工具的等价物快。 – ikegami
然后有'/ ...(?{...})... /'这是'grep'工具根本无法实现的。 – ikegami