M
Michael...
Gast
Hallo,
ich bin auf der Suche nach Möglichkeiten reguläre Ausdrücke zu negieren.
Momentan probiere ich mit look-around assertions und habe hierzu zwei Fragen.
Der Ausdruck, der z.B. negiert werden soll ist z.B. te.*st (wird mehr oder weniger vom Benutzer so eingeben)
Frage 1: Mein momentaner Stand sieht so aus (?!te).*|.*(?<!st), aber dazu müsste ich die Benutzereingabe parsen. Kann man das vereinfachen oder vielleicht ganz anders schreiben - ohne zu parsen?
Frage 2: Warum mag Java bei der look behind assertion .* innerhalb und am Ende des Suchausdrucks nicht?
(?<!(.*test)) geht
(?<!(te.*st)) geht nicht
(?<!(te.{0, 10000}st)) geht, ist aber nicht astrein
ich bin auf der Suche nach Möglichkeiten reguläre Ausdrücke zu negieren.
Momentan probiere ich mit look-around assertions und habe hierzu zwei Fragen.
Der Ausdruck, der z.B. negiert werden soll ist z.B. te.*st (wird mehr oder weniger vom Benutzer so eingeben)
Frage 1: Mein momentaner Stand sieht so aus (?!te).*|.*(?<!st), aber dazu müsste ich die Benutzereingabe parsen. Kann man das vereinfachen oder vielleicht ganz anders schreiben - ohne zu parsen?
Frage 2: Warum mag Java bei der look behind assertion .* innerhalb und am Ende des Suchausdrucks nicht?
(?<!(.*test)) geht
(?<!(te.*st)) geht nicht
(?<!(te.{0, 10000}st)) geht, ist aber nicht astrein