【发布时间】:2014-07-03 22:45:44
【问题描述】:
如何在 Python 中的特定字符之后替换所有出现的特定字符串?
例如,我想将所有出现的abc NOT 替换为 x 之前的 def。代码如下:
re.sub(r'(^|[^x])abc', r'\1def', string)
如果字符串没有连续的abcs,则代码可以完美运行。但是,如果我有string='abcabc',代码将无法工作。有什么办法可以解决这个问题吗?
【问题讨论】:
如何在 Python 中的特定字符之后替换所有出现的特定字符串?
例如,我想将所有出现的abc NOT 替换为 x 之前的 def。代码如下:
re.sub(r'(^|[^x])abc', r'\1def', string)
如果字符串没有连续的abcs,则代码可以完美运行。但是,如果我有string='abcabc',代码将无法工作。有什么办法可以解决这个问题吗?
【问题讨论】:
【讨论】:
result = re.sub("(?<!x)abc", "def", subject)
(?<!x) 的否定后视断言前面的不是x
abc 匹配 abc
def
参考
【讨论】: