#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define LEN 100
// 递归函数进行通配符匹配
int wildcardMatch(const char *pattern, const char *str) {
if (*pattern == '\0') {
return *str == '\0';
}
if (*pattern == '*') {
// 如果是星号,尝试跳过星号并匹配剩余部分
while (*pattern == '*') {
pattern++;
}
if (*pattern == '\0') {
return 1;
}
for (int i = 0; str[i]!= '\0'; i++) {
if (wildcardMatch(pattern, str + i)) {
return 1;
}
}
return 0;
} else if (*pattern == '?') {
// 如果是问号,检查下一个字符是否为数字或字母
return *str!= '\0' && (isalnum(*str) || islower(*str) || isupper(*str)) && wildcardMatch(pattern + 1, str + 1);
} else {
// 如果是普通字符,进行大小写不敏感的比较并继续匹配下一个字符
return (tolower(*pattern) == tolower(*str)) && wildcardMatch(pattern + 1, str + 1);
}
}
int main() {
char s1[LEN], s2[LEN];
while (scanf("%s\n%s", s1, s2)!= EOF) {
if (wildcardMatch(s1, s2)) {
printf("true\n");
} else {
printf("false\n");
}
}
return 0;
}