Skip to main content
 首页 » 编程设计

Python 正则表达式之只替换几个单词

2025年05月04日33dudu

假设您有以下字符串:

"badger randomword badger mushroom mushroom somethingelse" 

我想保留“badger”和“mushroom”这两个词,并将所有其他词替换为“mushroom”:

"badger mushroom badger mushroom mushroom mushroom" 

但我找不到正则表达式来匹配“除了 badger 和 mushroom 这两个词之外的所有内容”。你能帮帮我吗?

请您参考如下方法:

这会起作用

(?!\bbadger\b|\bmushroom\b)\b[^\s]+\b 

Regex Demo

Python 代码

p = re.compile(r'(?!\bbadger\b|\bmushroom\b)\b[^\s]+\b') 
test_str = "badger randomword badger mushroom mushroom somethingelse" 
subst = "mushroom" 
result = re.sub(p, subst, test_str) 

Ideone Demo