我需要删除字符串中的重复字词,以便'the (the)'
成为'the'
。为什么我不能这样做?
re.sub('(.+) \(\1\)', '\1', 'the (the)')
感谢。
答案 0 :(得分:6)
你需要双倍地逃避反向引用:
re.sub('(.+) \(\\1\)', '\\1', 'the (the)')
--> the
或使用r
prefix:
当存在“r”或“R”前缀时,字符串中包含反斜杠后面的字符不做更改,并且所有反斜杠都保留在字符串中。
re.sub(r'(.+) \(\1\)', r'\1', 'the (the)')
--> the
答案 1 :(得分:2)
根据documentation:'原始字符串表示法(r“text”)使正则表达式保持清醒。'