现一个挺高级的字符匹配算法:
给一串很长字符串,要求找到符合要求的字符串,例如目的串:123,1******3***2, 12*****3这些都要找出
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//强大的和谐系统
int is_contain(char *src, char *des)
{
//创建一个哈希表,并初始化
const int tableSize = 256;
int hashTable[tableSize];
int len,i;
memset(hashTable, 0, tableSize);
len = strlen(src);
for(i = 0; i < len; i++)
hashTable[src[i]] = 1;
len = strlen(des);
for(i = 0; i < len; i++)
{
if(hashTable[des[i]] == 0)
return 0;
//匹配失败
}
return 1;
//匹配成功
}
int main(void)
{
char src[] = "1afdfsaf3bdfaasf2";
char des[] = "123";
if(is_contain(src, des))
printf("contain.\n");
else
printf("not contain.\n");
return 0;
}