首页 > 解决方案 > 在 Python 中执行 re.sub 时在单词之后/之前维护特定的特殊字符

问题描述

我正在尝试在 python 中使用 re.sub 替换一个单词。格式是

re.sub(pattern, replacement,string)

让我们考虑以下代码片段

sentence = "I want to replce this sentence"

pattern = "replce"

replacement = "replace"

print(re.sub("[\W]{}[\W]".format(pattern), " {} ".format(replacement), sentence))

会给输出

我想替换这句话

现在我想捕获模式周围的非字母数字字符,以便我也可以将它们包含在替换中。在此示例中,我在替换周围强制使用空格,这不应该是这种情况。

例如

sentence = "I want to !replce, this sentence"

pattern = "replce"

replacement = "replace"

print(re.sub("[\W]{}[\W]".format(pattern), " {} ".format(replacement), sentence))

会给输出

我想替换这句话

但我想要

我想!替换,这句话

解决办法是什么?

标签: pythonregexre-python

解决方案


推荐阅读