标签: algorithm string-matching knuth-morris-pratt
当要匹配的模式包含通配符*时,我应该如何处理这种情况,例如AB*C,其中包含ABEFGCS文本*(此处{{ 1}}使用KMP算法消耗字符EFG)?
*
AB*C
ABEFGCS
EFG
算法中的哪些修改可以解决这个问题?
答案 0 :(得分:3)
实际上我得到了它,留下答案供参考,我们可以简单地打破关于通配符操作符的字符串,在每个部分上应用KMP,并检查每个部分是否是子字符串,以及这些部分是否是连续的是否可以在线性时间内检查,因此整体时间复杂度仍然是线性的。