re.search with strings:re.rearch()与字符串的用例之间的区别

时间:2015-03-10 14:32:35

标签: python

我有以下代码:

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')

有人能解释一下为什么在第一个循环中它与两个字符串不匹配?在第二个它确实。

1 个答案:

答案 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$