使用 KMP 算法处理字符串匹配中的通配符“*”运算符?
Handling wildcard '*' operator in string matching using KMP-Algorithm?
要匹配的模式中包含通配符*
,如AB*C
,出现的是文本ABEFGCS
(此处*
使用 KMP 算法消耗字符 EFG
) ?
修改算法可以解决这个问题?
其实我明白了,留下答案供参考,我们可以简单地把通配符的字符串拆开,对每个部分应用KMP,检查每个部分是否是子串,还有,部分是否是否连续可以在线性时间内检查,因此整体时间复杂度仍然是线性的。
要匹配的模式中包含通配符*
,如AB*C
,出现的是文本ABEFGCS
(此处*
使用 KMP 算法消耗字符 EFG
) ?
修改算法可以解决这个问题?
其实我明白了,留下答案供参考,我们可以简单地把通配符的字符串拆开,对每个部分应用KMP,检查每个部分是否是子串,还有,部分是否是否连续可以在线性时间内检查,因此整体时间复杂度仍然是线性的。