Python re-back-Referenz referenziert nicht
Habe ich Folgendes:
<text top="52" left="20" width="383" height="15" font="0"><b>test</b></text>
und ich habe die folgenden:
fileText = re.sub("<b>(.*?)</b>", "\1", fileText, flags=re.DOTALL)
In die fileText ist der string, den ich oben gepostet. Wenn ich ausdrucken fileText
nachdem ich das regex-Ersatz habe ich wieder
<text top="52" left="20" width="383" height="15" font="0"></text>
statt der erwarteten
<text top="52" left="20" width="383" height="15" font="0">test</text>
Nun bin ich ziemlich tüchtig an regex und ich weiß, dass es funktionieren sollte, in der Tat weiß ich, dass es passt richtig, weil ich es sehen kann, in der groups
wenn ich eine Suche, und drucken Sie die groups
aber ich bin neu in python und bin verwirrt, warum sein nicht das arbeiten mit Rückverweise richtig
Kommentar zu dem Problem - Öffnen
Übliche Hinweis über Parsen von HTML mit regex...
Nicht Parsen mit regex einfach entfernen aller Fett-tags, das ist alles. Ich habe einen sehr begrenzten Satz von html verwendet wird und in spezifischer Weise, in denen ich weiß, <b> ist ein Blatt-Knoten
InformationsquelleAutor der Frage csteifel | 2013-12-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine raw-string hier so, dass der umgekehrte Schrägstrich ist nicht verarbeitet wie ein escape-Zeichen:
Bemerken, wie
"\1"
wurde geändert, umr"\1"
. Obwohl es eine sehr kleine änderung (ein Zeichen), hat es eine große Wirkung. Siehe unten:InformationsquelleAutor der Antwort iCodez