Ich habe den folgenden regulären Ausdruck:
%Vor%Was ich in Expresso gegen die Datei, die ich gerade arbeite, getestet habe und das Match ist erfolgreich.
Ich möchte Folgendes anpassen:
Mein Python-Code ist:
%Vor%Aber es werden keine Matches produziert, wie in Expresso gesagt, es gibt mehr als 400 Matches, was ich erwarten würde.
Was mir hier fehlt?
Verwenden Sie nicht re.DOTALL
oder der Punkt wird auch mit Zeilenumbrüchen übereinstimmen. Verwenden Sie auch rohe Zeichenfolgen ( r"..."
) für Regexes:
Allerdings sollte Ihre Version immer noch funktionieren (obwohl sehr ineffizient) wenn Sie die gesamte Datei als Binärdatei in den Speicher als eine große Zeichenfolge gelesen haben.
Die Frage ist also, lesen Sie die Datei so:
%Vor% Oder arbeiten Sie mit einzelnen Zeilen ( for line in myfile:
oder myfile.readlines()
)? In diesem Fall kann die Regex natürlich nicht funktionieren.