通配符字符串匹配

通配符字符串匹配

什么是最有效的通配符字符串匹配算法?我只问一个想法,没有必要提供实际的代码。

我认为这种算法可以用排序后缀数组构建,这可以产生O(log(n))的性能。

我对么?

编辑:

我的意思是像"A*B""*sip*""A?B"这样的模式,其中星号表示任意数量的符号,问号表示单个符号。

最佳答案

这里有一篇涵盖最快选择的论文
http://swtch.com/~rsc/regexp/regexp1.html
特别是,它允许您避免使用长模式时天真的算法在病理上变慢的幼稚算法。

它涵盖了通用正则表达式,但您可以将实现限制为所需的子集。

09-27 05:37