如何使用python中的列表执行re.compile()

我有一个字符串列表,我想在其中筛选包含关键字的字符串

我想做一些类似的事情:

fruit=re.compile('apple','banana','peach','plum','pineple','kiwi']

因此,我可以使用re.search(fruit,list of_strings)仅获取包含fruit的字符串,但我不确定如何将list与re.compile一起使用。有什么建议吗?(我不打算使用re.compile,但我认为正则表达式将是一种很好的方法。)

您需要将水果列表转换为字符串苹果|香蕉|桃子|李子|菠萝|猕猴桃,以便它是一个有效的正则表达式,下面应该为您执行此操作:

水果列表=['苹果'、'香蕉'、'桃'、'李'、'菠萝'、'猕猴桃']
水果=重新编译(“|”.加入(水果列表))

edit:正如ridgerunner在评论中指出的那样,您可能希望将单词边界添加到正则表达式中,否则正则表达式将匹配plump之类的单词,因为它们有一个水果作为子字符串

fruit=re.compile(r'\b(?:%s)\b''%1!''。加入(fruit_列表))

发表评论