re.match接受除空的任何返回值

时间:2012-11-23 21:10:13

标签: python regex

我目前正在尝试使用python中的re.match函数。然后我有一个if语句,如果re.match返回任何东西(表示正则表达式包含在字符串中),那么它将返回原始字符串的内容。否则,如果它失败,我会想要返回单词'failed'。

我怎么能这样做?

简短形式:if语句如何接受任何非返回值。

2 个答案:

答案 0 :(得分:3)

def func(s):
    pattern = "somepattern"
    return s if re.match(pattern, s) else 'failed'

此外,返回"failed"听起来不错。如果输入是"failed"怎么办?考虑使用类似None的内容。

答案 1 :(得分:1)

你可以使用真实性:

if re.match(r'your_regex', your_string):
    return your_string
else:
    return 'failed'

如果re.match返回任何非虚假的内容([]{}()0'' {{ 1}},Noneetc.),然后将其评估为False