使用星号*通配符进行字符串搜索

时间:2014-08-20 05:43:41

标签: c++ algorithm

我希望在字符串中搜索另一个较短的字符串,该字符串可能包含匹配零个或多个字符的通配符*。例如,如果主字符串是“为字符串搜索此字符串”,并且搜索字符串为“is * ing”,则应返回“is string”处的匹配项。这种搜索使用的算法是什么?大多数算法都会进行通配或模式匹配,但它们不进行子串搜索。

1 个答案:

答案 0 :(得分:1)

任何好的子字符串搜索算法(如KMP)都可以满足您的需求。

首先搜索子字符串“is”。然后,一旦找到子字符串,就开始在超级字符串的剩余部分中搜索字符串“ing”。

上述技术应该有效,因为你想找到一个特定序列的子串列表。