我有以下代码:
import re
l=['fang', 'yi', 'ke', 'da', 'xue', 'xue', 'bao', '=', 'journal', 'of', 'southern', 'medical', 'university', '2015/feb']
t=[l[13]]
t2=['2015/Feb']
wl1=['2015/Feb']
for i in t:
print(type(i))
print(type(wl1[0]))
r=re.search(r'^%s$' %i, wl1[0])
if r:
print('yes')
for i in t2:
print(type(i))
print(type(wl1[0]))
r2=re.search(r'^%s$' %i, wl1[0])
if r2:
print('yes')
有人能解释一下为什么在第一个循环中它与两个字符串不匹配?在第二个它确实。
答案 0 :(得分:0)
您的输入值为小写:
>>> l=['fang', 'yi', 'ke', 'da', 'xue', 'xue', 'bao', '=', 'journal', 'of', 'southern', 'medical', 'university', '2015/feb']
>>> t=[l[13]]
>>> t[0]
'2015/feb'
当您尝试匹配F
大写的值时
>>> wl1=['2015/Feb']
>>> wl1[0]
'2015/Feb'
因此正则表达式^2015/feb$
不匹配,而在第二个示例中,您生成了表达式^2015/Feb$
。