剑指offer: 正则表达式匹配class Solution {public: bool match(char* str, char* pattern) { if (*str == && *pattern == ) return true; if (*str != && *pattern == ) return false; //if the next character in pattern is not * if (*(pattern+1) != *) { if (*str == *pattern || (*str != && *pattern == .)) return match(str+1, pattern+1); else return false; } //if the next character is * else { if (*str == *pattern || (*str != && *pattern == .)) return match(str, pattern+2) || match(str+1, pattern); else return match(str, pattern+2); } }};