public boolean isMatch(String s, String p) {
        if(p.isEmpty()){
            return s.isEmpty();
        }

        if(s.length() >= 1 && (s.charAt(0) == p.charAt(0) || p.charAt(0) == '.')){
            if(p.startsWith(p.charAt(0) + "*")){
                return isMatch(s.substring(1), p) || isMatch(s, p.substring(2));
            }else{
                return isMatch(s.substring(1), p.substring(1));
            }
        }else {
            if(p.startsWith(p.charAt(0) + "*")){
                return isMatch(s, p.substring(2));
            }else return false;
        }
    }