先吐个槽吧,公司也有这个算法,看了半天也不知道干什么呢,写的非常复杂,偶然的发现一个算法,小巧而精密,下面详细叙述:
* 可以匹配0个或0个以上的字符
?可以匹配一个字符
这个算法应用的是递归的算法,开始担心如果字符串过长的话,会因递归引起栈的溢出,还好在网上查了一下,win32默认的递归栈大小是2M,这足以进行很长字符串的匹配。
下面是核心的代码,思路都在代码的注释中,下面给出代码:
#include<iostream>
#include<string>
using namespace std;
bool match(char *pattern, char *content) {
// if we reatch both end of two string, we are done
if ('\0' == *pattern && '\0' == *content)
re