您的位置:首页 > Web前端

【剑指offer】题53:正则表达式匹配

2017-07-06 21:00 375 查看
bool match_core(char* str, char * pattern)
{
if (*str == '\0'&&*pattern == '\0')
{
return true;
}
if (*str != '\0' && *pattern == '\0')
{
return false;
}
if (*(pattern+1)=='*')
{
if ((*pattern == *str)||(*pattern=='.'&&*str!='\0'))
{
return match_core(str + 1, pattern + 2)
|| match_core(str + 1, pattern)
|| match_core(str, pattern + 2);
}
else
{
return match_core(str, pattern + 2);
}
}
if ((*str == *pattern) || (*pattern == '.'&&*str != '\0'))
{
return match_core(str + 1, pattern + 1);
}
return false;
}

bool match(char* str, char* pattern)
{
if (str==NULL||pattern==NULL)
{
return false;
}
return match_core(str, pattern);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: