如何在re.sub中使用替换模式中的特殊序列

时间:2017-04-07 16:10:25

标签: python regex substitution

我有一个字符串,我想在[[[]之间](同时)替换每个[]]。我想过用re.sub

做这件事
re.sub(r'(\[|\])', '[\1]', 'asdfas[adsfasd]')
Out: 'asdfas[\x01]adsfasd[\x01]'

但我没有得到理想的结果 - 如何将模式中re.sub考虑\1作为第一个匹配的特殊群组?

1 个答案:

答案 0 :(得分:1)

您也应该使用r前缀替换正则表达式,否则\1将被解释为十六进制文字:

In [125]: re.sub(r'(\[|\])', r'[\1]', 'asdfas[adsfasd]')

Out[125]: 'asdfas[[]adsfasd[]]'