import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 带有通配符的字符串 String reg = in.nextLine().toLowerCase(); // 需要匹配的字符串 String str = in.nextLine().toLowerCase(); // 正则表达式,参考资料:https://www.runoob.com/regexp/regexp-syntax.html // reg.replaceAll("\\*+", "[a-z0-9]*")表示一个或多个*,可以匹配a-z或者0-9中的零个或多个 // reg.replaceAll("\\?", "[a-z0-9]")表示一个?,可以匹配a-z或者0-9中的一个 reg = reg.replaceAll("\\*+", "[a-z0-9]*").replaceAll("\\?", "[a-z0-9]"); // String类的matches()方法用于检查字符串是否符合指定的正则表达式模式。 如果字符串符合正则表达式模式,则返回true;否则返回false。 System.out.println(str.matches(reg)); } }