我知道正则表达式中的 OR 条件是“|”例如
re.search(r"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)", line):
查找某行是否包含对月份的引用。
如果我们希望所有项目都存在于一行(或 str)中怎么办?现在我有这样的东西
if re.search(r"ERRO", line) and re.search(r"MainThread:", line):
但我可能想添加更多条件。此外,如果这些项目存在于列表中并且我们不想遍历列表怎么办?有没有 pythonic 的方法来做到这一点?
谢谢
使用 all
它将延迟计算。
conditions = ["foo","bar"]
s = "foo bar"
print all(x in s.split() for x in conditions)
True
l = ["fo","bar"]
s = "foo bar"
print all(x in s.split() for x in conditions)
False
如果您不拆分单词,像 fo
这样的单词将被视为在行中,因此根据您认为在行中的内容拆分或不拆分:
conditions = ["fo","bar"]
s = "foo bar"
print all(x in s for x in conditions)
True
我是一名优秀的程序员,十分优秀!