假设您有以下字符串:

"badger randomword badger mushroom mushroom somethingelse"


我想保留“ bad”和“蘑菇”这两个词,并用“蘑菇”替换所有其他词:

"badger mushroom badger mushroom mushroom mushroom"


但是我找不到正则表达式来匹配“除badge和蘑菇以外的所有东西”。你能帮助我吗?

最佳答案

这会工作

(?!\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

关于python - Python正则表达式-替换除几句话外的所有单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36862693/

10-10 03:37