axeljaeger
11-05-2004, 17:37
Hallo,
ich versuche jetzt seit zwei Tagen einen regulären Ausdruck zu basteln, der folgende Eigenschaften hat:
Er soll auf ein NewLine (\n) passen, wenn vor dem newLine KEIN Backslash war, der das newline escaped, aber doch,
wenn zwei Backslashes davor sind ( Backslash wird escaped ).
Mein Versuch dazu sieht so aus:
^(?!\\) *\n$
Der hat den Nachteil, dass er nie passt.
Dabei hab ich mir gedacht: (?!\\) sagt ja, wenn kein Backslash vor Leerzeichen beliebiger Menge links vom newline ist. Das sind zwei Backslashes, weil das aus einem C++-Quelltext ist. Nicht das sich jemand wundert. Das der Backslash escaped werden kann, ist in dem Ansatz noch nicht mit drinn.
Ich bin neben der korrekten Lösung für das Problem auch an meinem Denkfehler interessiert, um sowas zukünftig selber lösen zu können. Als Anleitung hab ich die Beschreibung von QRegExp benutzt. Vielleicht ist die nicht so der Hit.
Vielen Dank im Vorraus.
ich versuche jetzt seit zwei Tagen einen regulären Ausdruck zu basteln, der folgende Eigenschaften hat:
Er soll auf ein NewLine (\n) passen, wenn vor dem newLine KEIN Backslash war, der das newline escaped, aber doch,
wenn zwei Backslashes davor sind ( Backslash wird escaped ).
Mein Versuch dazu sieht so aus:
^(?!\\) *\n$
Der hat den Nachteil, dass er nie passt.
Dabei hab ich mir gedacht: (?!\\) sagt ja, wenn kein Backslash vor Leerzeichen beliebiger Menge links vom newline ist. Das sind zwei Backslashes, weil das aus einem C++-Quelltext ist. Nicht das sich jemand wundert. Das der Backslash escaped werden kann, ist in dem Ansatz noch nicht mit drinn.
Ich bin neben der korrekten Lösung für das Problem auch an meinem Denkfehler interessiert, um sowas zukünftig selber lösen zu können. Als Anleitung hab ich die Beschreibung von QRegExp benutzt. Vielleicht ist die nicht so der Hit.
Vielen Dank im Vorraus.