我有这段代码:
# If the username isn't alpha-numerics (inc: _, -, ., )
if re.match('^[a-zA-Z0-9 _\-\.]+$', repName) == False:
print 'DECLINE: '+repName
else:
print 'ACCEPTED: '+repName
当我对这个字符串进行测试时:ɢᴀꜱᴛяɪᴄ(从网站上抓取) 我得到了这个回复:
接受:É¢á'€œœ±á'>Ñ?ɪá'“
为什么要通过?另外为什么Python似乎改变了字符串?
答案 0 :(得分:5)
不成功的re.match
不是False
。它是None
。
但你也可以这样试试:
if re.match('^[a-zA-Z0-9 _\-\.]+$', repName):
print 'ACCEPTED: '+repName
else:
print 'DECLINE: '+repName