Tom: Reguläre Ausdrücke: Suchmuster funktioniert nicht

Beitrag lesen

Hello,

Wieso?
Weil (.+) nunmal für alle Zeichen gilt, welche * und } einschließen.

Weil Du nicht berücksichtigt hast, daß + und * ohne ? gierig (greedy) sind.

...was mich jetzt hier mal zu einer Frage bringt, die ich schon immer mal stellen wollte:

Wie es sich auswirkt, wenn man die Gefräßigkeit herabsetzt, ist mir klar. Aber woher weiß die Engine dann, wann sie aufhören muss zu fressen? Wie läuft dieser Algorithmus ab? Wie oft darf das Muster, dass nach einem ungreedy geschalteten Quantifier noch kommt, im Gesamttext noch vorkommen?

A(.+?)bauen

Hält der Algorithmus nun beim ersten 'bauen', dass auf ein 'A' zuzügl. mindestens einem Folgezeichen folgt an?

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de