Skip to main content
 首页 » 编程设计

python之正则表达式问题 : How can I check if any of values in list are matched

2025年05月04日23jpfss

我想创建一个 RE 对象,如果字符串至少包含列表的一个元素,则该对象匹配。

例如,如果 bad_words["censored","stupid","idiot"] 是列表,如果其中至少有一个存在,则 RE 将匹配。

这是我的回复:re.compile("(%s)+"% ("|".join(bad_words)), re.IGNORECASE)

问题是“youareanidiot”不匹配。我必须更改什么才能使其匹配?

请您参考如下方法:

虽然可以使用正则表达式来执行此操作,但我认为这里没有正则表达式会更好。要针对 bad_words 测试字符串 s,请尝试类似的操作

s = s.lower() 
any(bad in s for bad in bad_words) 

您的bad_words 应该全部小写。