Ich habe unter zwei Zeile des Protokolls, wo ich separate regulären Ausdruck für die Suche nach jedem von ihnen haben möchte. Es ist kein Problem, auf der zweiten Protokollzeile auszulösen. Aber ich habe Probleme beim Ausdruck für die erste Zeile. Der Name Reset Reason test
ist nur ein Beispiel für den Test, die Anzahl der Wörter darin kann variieren, daher kann ich hier keine spezifischeren Muster definieren, dann nur .*
.Negative Lookahead Assertion in Python
12.07.2016 13:54:20 SCR_OUTPUT: #### TC_0006 Reset Reason test
12.07.2016 13:54:20 SCR_OUTPUT: #### TC_0006 Reset Reason test done.
Ich habe regulären Ausdruck im Allgemeinen tun das, was ich will es tun:
([0-9:. ]*) SCR_OUTPUT: #### (TC_[a-fA-F0-9]{4,5}[:0-9]{0,4}) .*[ ](?!done\.$)
Und ich habe zwei Fälle, die ich zu differenzieren wollen: ich basierend auf dem Beispiel hier gegeben. https://docs.python.org/3/howto/regex.html#lookahead-assertions
Alles funktioniert gut, wenn es so endet: (natürlich muss ich meine Test-Strings ändern)
[.](?!done$)
Wenn ich es versuchen, etwas zu sein, das zu mir passt mehr zB: (mein done.
hat am Ende dot)
[.](?!done\.$)
Dann wird es seltsam. Eine andere Anpassung. done.
sollte mit Leerzeichen gefolgt werden und nicht mit Punkt und das Ergebnis wird verrückt. Jede Zeile gibt positive Ergebnisse.
[.](?!done\.$)
Ich habe das auf pythex.org getestet. Unter diesem Link finden Sie die neueste Version meines Experiments.
Wer weiß, wo ich einen Fehler habe? Ist es irgendwie möglich, in einem solchen Fall auszulösen? Vielleicht sollte ich es in zwei Schritten tun?
Möchten Sie die Übereinstimmung fehlschlagen, sobald eine Zeile/ein String mit 'done.' endet? ['^ ([0-9:.] *). * SCR_OUTPUT: #### (TC_ [a-fA-F0-9] {4,5} [: 0-9] {0,4}) (?!. * done \. $). * '] (https://regex101.com/r/nI7eQ2/1)? –
Oder ['^ (?!. * Done \. $) ([0-9.] + \ S + [\ d:] +) \ s + SCR_OUTPUT: \ s * #### \ s * (TC_ \ w +). * '] (https://regex101.com/r/nI7eQ2/2) (was ist schneller)? –
Genau. Immer wenn eine Zeile mit "fertig" ist. gegeben ist, sollte es darauf scheitern. – user2362824