2

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

我怎么能做到这一点?

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

4

2 回答 2

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

此外,返回"failed"听起来是个坏主意。如果输入是"failed"怎么办?考虑使用类似None.

于 2012-11-23T21:12:21.253 回答
1

您可以使用真实性:

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

如果re.match返回任何不是假的([]{}()0'' NoneFalse等) ,那么它被评估为True

于 2012-11-23T21:12:56.950 回答