Negierung von Teilpattern in Regular Expresions?

Hallo,

jetzt bin ich nochmals auf eine große Frage gestoßen, vielleicht weiss das ja jemand. Gibt es eine Möglichkeit teil-pattern zu negieren?
ich möchte testen dass eine Zeichenkette NICHT auf .jsp endet. Dies aber auch so in der Regular expression formulieren.( Als Alternative könnte ich ja auch extra darauf testen ob .jsp vorkommt und dann die regular expression ausführen und auf Basis dieser Ergebnisse durch negierung weiterarbeiten. ich würde das aber gerne direkt im regular expression selbst formullieren.

^.*?^(.jsp)$

–> Matche alle Zeichenketten die NICHT auf .jsp enden. Dafür hab ich mal dieses ^verwendet. DAs ist ja in diesen Charcater-Groups[^s] dafür verwendet worden zu negieren. Wer kennt sich da aus und weiss wie man das machen könnte??
Ich hab auch schon [^j][^s][^p] probiert, was aber nicht lief, könnte aber auch irgendwelche anderen Gründe haben.

Vielen DAnk
Julian

Hallo,

jetzt bin ich nochmals auf eine große Frage gestoßen,
vielleicht weiss das ja jemand. Gibt es eine Möglichkeit
teil-pattern zu negieren?
ich möchte testen dass eine Zeichenkette NICHT auf .jsp endet.
Dies aber auch so in der Regular expression formulieren.( Als
Alternative könnte ich ja auch extra darauf testen ob .jsp
vorkommt und dann die regular expression ausführen und auf
Basis dieser Ergebnisse durch negierung weiterarbeiten. ich
würde das aber gerne direkt im regular expression selbst
formullieren.

^.*?^(.jsp)$

–> Matche alle Zeichenketten die NICHT auf .jsp enden.
Dafür hab ich mal dieses ^verwendet. DAs ist ja in diesen
Charcater-Groups[^s] dafür verwendet worden zu negieren. Wer

Aber NUR dort. Ansonsten matcht das ^ auf den Zeilen- oder Textanfang, was nicht das gewünschte ist.

^.\*?(?

Sollte gehen:
Irgendwas, bei dem vor dem Stringende nicht .jsp steht.
Ist aber etwas anders als nur ein negiertes Pattern, am besten du liest das mal nach [1][2].



> kennt sich da aus und weiss wie man das machen könnte??  
> Ich hab auch schon [^j][^s][^p] probiert, was aber nicht lief,


Das geht im Prinzip auch, allerdings geht damit dann z.B.
php auch nicht, da das letzte "p" nicht mit [^p] matcht.

Alexander

[1] http://www.regenechsen.de/regex\_de/regex\_4\_de.html
[2] http://www.perldoc.com/perl5.8.4/pod/perlre.html