10. 正则表达式匹配
func isMatch(s string, p string) bool {
if len(p) == 0 {
return len(s) == 0
}
// 先假设 * 表示 0 个若无法匹配,在判断 * 表示多个字符的情况
if len(p) > 1 && p[1] == '*' {
return (isMatch(s, p[2:])) || (len(s) != 0 && (s[0] == p[0] || '.' == p[0]) && isMatch(s[1:], p))
} else {
return len(s) > 0 && (s[0] == p[0] || p[0] == '.') && isMatch(s[1:], p[1:])
}
}