ich eine JSON-Datei, wo ich eine Abbildung speichern, die regulären Ausdrücke, wie die unten enthält:Python: lesen regexps von JSON
"F(\\d)": "field-\\\\1",
"FLR[ ]*(\\w)": "floor-\\\\1",
mit dem Standard ich die Schrägstriche entkommen entsprechen, tatsächlich die Regexps sollte enthalten \d
, \w
und \\1
.
Sobald ich dieses JSON mit json.load() gelesen habe, muss ich noch das resultierende Wörterbuch nachbearbeiten, um korrekte regexps zu erhalten. Ich muss eine \\
durch \
ersetzen. Was ist der beste Weg dazu?
Bisher habe ich sowohl re.sub()
als auch str.replace()
versucht und in beiden Fällen ist es nicht klar, wie man einen einzelnen Backslash in der Unterstation darstellt.
Zum Beispiel, ich verstehe nicht, warum die folgenden nicht einen einzigen Backslash produziert:
In [76]: "\\\\d".replace("\\\\", "\\")
Out[76]: '\\d'
Es * erzeugt * einen einzelnen Backslash. Das ist nur, wie es angezeigt wird, um es klar zu machen, es ist ein literaler Backslash nicht ein Escape-Zeichen – jonrsharpe