die Zeile mit folgenden Struktur Parsing:Ausgabe in Splitting regex
positive-number str1 "str2" "str3" "str4"
Die obige Linie sollte in einzelnen Teil aufgeteilt werden. str2, str3, str4 [könnte "\" \ "\" - Anführungszeichen haben.].
Ich verwende die folgende Regex, um die Zeilen zu teilen. Dem Vorschlag von diesem Link folgend. Es wird jedoch bestimmte lines nicht extrahiert.
Inhalt von Dateien, aus denen Muster extrahiert werden:
8 2016-06-10-17:53:22 "Str1" "Value" "Str3"
8 2016-06-10-17:53:22 "Str1" "Value2" "Str3"
9 2016-06-10-17:53:22 "asd" "asd" "ads"
7 2016-06-10-17:53:22 “A quoted ” “do about.” “care\” \” quotes. ”
Regex verwendet:
with open('sample.txt') as f:
for l in f:
res = re.search('(.*?) (.*?) “(.*?)” “(.*?)” “(.*?)”', l.replace('\n', ''))
jedoch in der Ausgabe wird nur die Zeile mit dem Wert beginnend 7 aufgeteilt korrekt und andere Leitungen aren t.
Bedeutet es, dass Sie '\\" in Ihren Strings haben können, das bedeutet einen Backslash und einen unscaped ''? Sind Ihre Angebote auch inkonsistent wie in den obigen Demo-Daten? –
Tipp: alle Ihre Fragezeichen in Ihrem Regex ist nicht notwendig – abccd
Es ist komisch, dass Sie jemand anderen [Regex] (http://stackoverflow.com/a/44099276/6622817) und immer noch nicht akzeptieren, dass diese Antwort – abccd