字符串 正则表达式的模式匹配

来源:互联网 发布:软件登记在哪里办理 编辑:程序博客网 时间:2024/06/05 04:56


代码:

 bool isMatch(const char *s, const char *p) {        if(*s=='\0'&&*p=='\0')            return true;        if(*s!='\0'&&*p=='\0')            return false;        if(*(p+1)=='*'){            if(*s==*p||(*p=='.'&&*s!='\0'))  //1 忽略* 和它前面的字符 2 匹配一次 3 匹配多次                return isMatch(s,p+2)||isMatch(s+1,p+2)||isMatch(s+1,p);            else   //忽略*和它前面的字符               return isMatch(s,p+2);         }        if(*s==*p||(*p=='.'&&*s!='\0'))            return isMatch(s+1,p+1);        else        return false;    }