使用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
它只打印错误。
答案 0 :(得分:2)
您需要实际调用re
中的一个或多个函数(不使用in
)来使用正则表达式引擎:
print(bool(re.search(p.status, line)))