问题:re.match函数抛出异常
我有一个简单的问题,关于在re.match函数中抛出异常。
有没有办法让'match'函数抛出一个异常?也许可以用某个标志。如果不行的话,RE库中有没有其他函数可以在列表为空时抛出异常呢?
举个例子:
verify_link=re.match(".*"+str(country).lower()+"."+str(city).lower()+".*",link)
这个例子在某些情况下会返回None。
我想找一个方法可以抛出异常,而不是返回None。我可以通过'if'语句来实现,但也许还有其他方法。
4 个回答
1
嗯?异常(错误)应该只在特殊情况下发生,而不是你描述的那种情况。不过,如果真的需要的话,你可以用if
来检查返回值,然后再抛出异常。
补充一下:你甚至可以自己写一个函数,来隐藏抛出异常的过程……
2
if re.match(".*"+str(country).lower()+"."+str(city).lower()+".*", link) is None:
raise Exception('whatever')
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
4
在Python的re
模块中没有这样的函数。你可以查看这个文档:
异常 re.error
当传给这里某个函数的字符串不是有效的正则表达式时,会引发这个异常(比如,它可能包含不匹配的括号),或者在编译或匹配过程中发生其他错误时也会出现这个异常。如果一个字符串没有匹配到某个模式,这绝对不是错误。