题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。
思路:模拟正则表达式。。。
bool match(char* str, char* pattern) { if (pattern[0] == 0 && str[0] == 0) { return true; } if (pattern[0] != 0 && pattern[1] == '*') { if (match(str, pattern + 2)) return true; } if ((pattern[0] == '.' && str[0]) || str[0] == pattern[0]) { if (match(str + 1, pattern + 1)) return true; if (pattern[1] == '*' && match(str + 1, pattern)) { return true; } } return false; }