我有一个字符串列表,我想在其中筛选包含关键字的字符串
我想做一些类似的事情:
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_列表))