尝试检查格式正确的名称字符串,然后将其作为正则表达式的练习返回。它捕获的字符串,如Python正则表达式 - 不捕获非字母数字
'bob1'55bob 'b64ob' 等
但不会赶上非字母数字输入,如bob!
。我一直认为[a-z]+
部分会照顾到这一点,查看文档。我必须俯视一些东西,有什么帮助?谢谢。
def get_name(self):
"""Returns the user-name if valid"""
match_obj = re.match(r'\b[a-z]+\b', self.name, re.I)
if match_obj is None:
raise ValueError('Matching name not found')
return self.name
试试这个'\ b \ w + \ W +' –
删除了我的答案,如果你想让用户只输入字母数字,那么'^ [a-zA-90-9] + $',用re.I'^ [ a-z0-9] + $'或下划线'^ \ w + $' – YOU