Regexphater: Was läuft bei diesem Regexp ab?

Beitrag lesen

NICHT funktioniert 3: (.*?),(.*?),(.*?)

Das ist eine erbärmlich schlechte Problembeschreibung.

Aber du hast genau verstanden, was ich meinte ;)

$ /(.*?),(.*?),(.*?)/
    [
        [0] "aaaaaa",
        [1] "bbbbb",
        [2] ""
    ]

Wie man an der Ausgabe sehen kann, funktioniert №3 sehr wohl. Es gibt bloß nicht zurück, was du erwartest, sondern den leeren String. .*? stimmt überein mit dem leeren String: jedes Zeichen, **null-** oder mehrmal.

Um das erwartete Ergebnis zu bekommen, musst du das Muster am Ende mittels $ verankern.

Jep, das wars. Jetzt ergibt das ganze Verhalten in meinem Kopf auch einen Sinn. Kriegst einen Keks von mir. =)