2024-10-02 04:22:03 发布
网友
我想使用try/except语句检查字符串是否只包含字母。 下面的问题是什么
class LetterError(Exception): pass name = "" while name=="": try: x = re.match(r'[a-zA-Z]',(input("Please enter a name: "))) raise LetterError except LetterError : print("Insert letters only")
您的正则表达式[a-zA-Z]将只匹配给定范围[a-zA-Z]之外的一个字符。在
[a-zA-Z]
我想你的名字是指多个字符。因此,使用[a-zA-Z]+匹配多个字符。在
[a-zA-Z]+
无论如何,你都在犯错误。您需要添加一个条件,而且不需要自定义错误。来自此处的正则表达式https://stackoverflow.com/a/3617808/5567387
name = "" while name == "": name = raw_input("Please enter a name: ") is_valid = re.match(r'^[a-zA-Z]+$', name) if not is_valid: name = ""
您的正则表达式
[a-zA-Z]
将只匹配给定范围[a-zA-Z]
之外的一个字符。在我想你的名字是指多个字符。因此,使用
[a-zA-Z]+
匹配多个字符。在无论如何,你都在犯错误。您需要添加一个条件,而且不需要自定义错误。来自此处的正则表达式https://stackoverflow.com/a/3617808/5567387
相关问题 更多 >
编程相关推荐