[quote=olruebe01,23.02.2007, 14:24]Ne ne... ich würde das ja schon mit andere Bedingungen kombinieren wollen.
Etwas wie
/(Anfang.*(NOT"Baum")Ende)/
so dass sich (NOT"Baum") auf die vorherige .* bezieht. Damit wäre der Anfangs- und Endpunkt des zu matchenden Strings gegeben.[/quote]
So etwas geht prinizipiell schlecht. Denn .* matcht auf einen langen String, und Du willst diesen langen String dann im Nachhinein nach Baum durchsuchen. Das waere nicht gerade schoen oder schnell oder straightforward.
QuoteWie wäre denn dann sowas: /(Anfang.*(?!Baum)Ende)/
Das wuerde ueberpruefen, ob genau an der Stelle, wo Du
(?!Baum) schreibst, der String Baum anfaengt. Kann aber gar nicht sein, denn an der Stelle faengt ja der String Ende an, wenn der Ausdruck matchen soll. Was Du willst, ist das hier:
/Anfang (?: (?!Baum) . )* Ende/x
Hierbei matcht der geklammerte Ausdruck auf genau ein Zeichen (daher steht "." darin), aber nur, wenn mit diesem Zeichen nicht der String Baum anfaengt. Und Zeichen dieser Art duerfen sich beliebig oft wiederholen, daher das Sternchen.\n\n
<!--EDIT|betterworld|1172328252-->