Re: kleines RegEx Problem
On 24.05.06 23:18:03, Juergen Christoffel wrote:
> Der Grund ist, dass die Operatoren * und + gierig (greedy) sind und Deine
> zweite Klammer somit den ganzen Rest schluckt.
Das habe ich mittlerweile auch "rausgefunden" (siehe auch meine Antwort
auf mein eigenes Posting, die demnaechst erscheinen sollte). Aber danke
fuer die sehr ausfuehrliche Erklaerung.
> - Perl hat seit Perl5 neben den Operatoren * und + auch noch *? und +? die
> beide nicht gierig sind, also so wenig wie moeglich matchen. Damit loest
> sich das Problem in (fast) nichts auf.
Ich hab die non-greedy-Versionen von *, + und ? in der Python-re-Doku
einfach nur uebersehen. Python kennt uebrigens auch noch ?? ;-)
Wie schon anderweitig erwaehnt ist das ganze in Perl nicht so
dramatisch, da man jederzeit auf die subexpressions mittels \N zugreifen
kann, in Python brauche ich das "Match" Objekt und um nicht 3-7
verschiedene Match-Objekte "rumliegen" zu haben wollte ich gerne alles
mit 1 Regex erschlagen. Funktioniert ja auch und lt. Doku sogar Python
2.3 "konform" :-)
Andreas
--
You are a fluke of the universe; you have no right to be here.
Reply to: