为什么IN不评估我的正则表达式?

时间:2014-06-27 17:59:29

标签: python regex python-3.x

使用Python 3.x,我正在解析日志文件,并且在大多数行上有三个关键词之一(INFO,ERROR或WARN)。

我正在定义正则表达式,以查看某行是否包含以下任一单词:

INFO|ERROR|WARN

我确信这是解决这个问题的正确方法,但似乎并没有奏效。有人知道我在这里缺少什么吗?

我正在检查正则表达式是否在行中,只需打印它:

Properties.py
    status = "INFO|ERROR|WARN"

Runner.py
    import properties as p
    import re
    line = "[time stamp] INFO [other information]"
    print(p.status in line)
    line = "[time stamp] ERROR [other information]"
    print(p.status in line)

输出:

False
False

它只打印错误。

1 个答案:

答案 0 :(得分:2)

您需要实际调用re中的一个或多个函数(不使用in)来使用正则表达式引擎:

print(bool(re.search(p.status, line)))