题解 | #字符串通配符#
字符串通配符
http://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036
import re
while True:
try:
a = input()
b = input()
a = a.lower()
b = b.lower()
if a.isalpha() and b.isalpha(): #对两个字符串都是字母的特殊情况先做处理,
#否则比如,z,zz,c会等于['z','z']合并后是zz等于b会造成误判
if a == b:
print('true')
else:
print('false')
else:
a = a.replace('.','\.').replace('*','\w*').replace('?','\w{1}')#参考re库character
c = re.findall(a,b) #返回字符串b中所有pattern不重叠匹配的列表
c = ''.join(c)#如果要返回true这个列表应该是和b相同
#print(c)#测试用
if c==b:
print('true')
else:
print('false')
except:
break