re.sub()后添加垃圾字符?

时间:2017-12-12 21:26:38

标签: python regex

为什么以下正则表达式返回垃圾!!

 expr = 'a + b'
 expr2 = re.sub(r'\w', 'probs["\1"]', expr)
  

probs [""] + probs [""]

this is how it looks

或:

  

probs [" \ x01"] + probs [" \ x01"]

期望的输出:

  

probs [" a"] + probs [" b"]

愚蠢的我忘了括号:

   expr2 = re.sub(r'(\w)', r'probs["\1"]', expr)

1 个答案:

答案 0 :(得分:0)

\1被解释为具有ascii值1的字符。您可能希望添加一个r以使其成为原始字符串,或者在字符串中使用\\1