如何在python中使用正则表达式返回第一个不匹配的字符

时间:2014-07-17 10:23:36

标签: regex python-2.7

这是我的python代码,用于匹配字符串列表

import re
strLIST=['MCA2014PDICT','MCA2014FLOWM','MCA2014AFISRT','MCA1014PDICT']
pattern='MCA2014[P|F]{1}[A-Z]{4}'
for str in strlist:
    match=re.search(str,pattern)
    if match:
        print "congrats your",str,"matched"
    else:
        print str," not matched"

这里我没有得到因为我的字符串不匹配的字符或数字 我想要第一个字符或数字,这会导致字符串无法匹配。我希望获得字符串不匹配的原因。

这里是第一个字符串:MCA2014PDICT应该通过

但是字符串:MCA2014AFISRT应该为false,它应该返回字符

答:因为这个字符串不匹配。因为在第7个位置字符应该是P或F,而在我们的字符串中它是A。

for string:MCA1014PDICT它shuld返回1.因为在第4位它应该是2。 1:它应该是2。*

请帮助我获取第一个字符或数字,因为该字符串使用python正则表达式无法匹配

1 个答案:

答案 0 :(得分:0)

你误用了re.search函数,正确的语法是re.search(pattern, string)你完全反过来......