一、题目
二、示例
三、代码
import re
while True:
try:
s1 = input().lower()
s2 = input().lower()
s1 = s1.replace('?', '\w{1}').replace('.', '\.').replace('*', '\w*')
s = re.findall(s1, s2)
if s2 in s:
print('true')
else:
print('false')
except:
break
四、算法说明
在正则匹配中,
'\w{1}'
代表匹配一个0-9
或小写字母, 和'[0-9a-z]'
等价;
'\w*'
代表匹配多个0-9
或小写字母;
'.'
匹配除'\n'
之外的任何单个字符, 因此需要替换为字符'\.'
,而不是正则符号;
re.findall(s1, s2)
表示寻找s2
中与s1
匹配的字符串。
胡萝卜
2022年3月11日15:17:19
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |