在python中使用try和regex

2024-10-02 04:22:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用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")

Tags: 字符串namereinputmatch字母exceptionpass
2条回答

您的正则表达式[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 = ""

相关问题 更多 >

    热门问题