我能想到的最简单的方法是将re.sub与backreference groups结合使用。您可以使用以下方法来完成您的任务。
re.sub(r'([_|\s])(?:you)(_)', r"\1we\2", s)
在这里,它是第一组 ([_|\s]) 第二组是 (_) . (?:you) 是非捕获组。在替换字符串中\1和\2指上述组。所以最终你的替换字符串变成 <whatever character before you>we<whatever character after you>
([_|\s])
(_)
(?:you)
<whatever character before you>we<whatever character after you>