gpt4 book ai didi

python - 检查所有列表项是否存在于行中(正则表达式)

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:12 24 4
gpt4 key购买 nike

我知道正则表达式中的 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

关于python - 检查所有列表项是否存在于行中(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25241841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com