【问题标题】:What are the best string matching algorithms to search several patterns at once? [closed]一次搜索多个模式的最佳字符串匹配算法是什么? [关闭]
【发布时间】:2014-04-28 18:33:58
【问题描述】:

可用于在字符串中搜索多个模式的最佳字符串匹配算法是什么?

【问题讨论】:

    标签: algorithm string-matching


    【解决方案1】:

    为了寻找与许多不同字符串的精确匹配,我喜欢the Aho-Corasick string matching algorithm,但有许多可能的竞争者,这取决于你的模式是什么。了解实际使用情况的一个起点是查看on Wikipedia 提到的或从那里指向的 grep 的不同变体。

    【讨论】:

    • 感谢您的回复。 Rabin Carp 和 KMP 算法呢
    • 如果许多/所有目标字符串的长度相同,Rabin-Karp 最有用。
    • KMP 一次只搜索一种模式。事实上,Aho-Corasick 很像 KMP 的多字符串版本。当您要查找的所有字符串长度相同时,Rabin-Carp 确实最有用。如果所有模式的长度至少为 k,您可以搜索每个模式的前 k 个字符,然后进行第二次测试以查看是否所有模式都存在。
    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 2012-11-07
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2013-07-11
    • 2015-11-27
    相关资源
    最近更新 更多