Python-Regex, um doppelten Backslash durch einfachen Backslash zu ersetzen
Ich versuche, alle doppelten Backslashes durch nur einen Backslash zu ersetzen. Ich möchte "class = \" highlight "durch" class = \ "highlight" ersetzen. Ich dachte, dass Python '\\' als einen Backslash und '\\ +' als String mit zwei Backslashes behandelt (dies sind 3 und 4 Backslashes mit SO-Escape). Aber wenn ich es versuche
In [5]: re.sub(r'\\+', '\\', string)
sre_constants.error: bogus escape (end of line)
Also habe ich versucht, die Ersetzungszeichenfolge durch eine Rohzeichenfolge zu ersetzen:
In [6]: re.sub(r'\\+', r'\\', string)
Out [6]: 'class=\\"highlight'
Welches ist nicht was ich brauche. Also habe ich nur einen Backslash in der Raw-Zeichenfolge versucht:
In [7]: re.sub(r'\\+', r'\', string)
SyntaxError: EOL while scanning string literal