我有一个字符串,我想在[
和[[]
之间]
(同时)替换每个[]]
。我想过用re.sub:
re.sub(r'(\[|\])', '[\1]', 'asdfas[adsfasd]')
Out: 'asdfas[\x01]adsfasd[\x01]'
但我没有得到理想的结果 - 如何将模式中re.sub
考虑\1
作为第一个匹配的特殊群组?
答案 0 :(得分:1)
您也应该使用r
前缀替换正则表达式,否则\1
将被解释为十六进制文字:
In [125]: re.sub(r'(\[|\])', r'[\1]', 'asdfas[adsfasd]')
Out[125]: 'asdfas[[]adsfasd[]]'