您的位置:首页 > 其它

正则表达式匹配

2016-04-29 11:14 302 查看
class Solution {
public:
bool matchTrue(char* str, char* pattern)
{
if(*str=='\0'&&*pattern=='\0')
return true;
else if(*str!='\0'&&*pattern=='\0')
return false;
if(*(pattern+1)=='*')
{
if(*str==*pattern||(*pattern=='.'&&*str!='\0'))
return matchTrue(str,pattern+2)||matchTrue(str+1,pattern+2)||matchTrue(str+1,pattern);
else return matchTrue(str,pattern+2);
}
else
{
if(*str==*pattern||(*pattern=='.'&&*str!='\0'))
return  matchTrue(str+1,pattern+1);
else return false;
}
return false;
}
bool match(char* str, char* pattern)
{
if(str==NULL||pattern==NULL)
return false;
return matchTrue(str,pattern);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: