Texter mit x: String kann auch noch anders aussehen.

Beitrag lesen

»» Und das wars jetzt? Die Fehlerbeschreibung sollte doch wohl einen deutlichen Hinweis liefern wobei ich mich vertippt habe. Ach was soll's, einfach copy and paste -> "(".

Natürlich hab ich die Klammer eingefügt Dann kam folgende Fehlermeldung:
Nothing to repeat. Was ja auch nicht das Problem war.

"Hier bezieht sich der Quantifer lediglich auf die Assertion ... was nicht erlaubt ist."

Das wußte ich noch nicht. Aus deiner Mitteilsammkeit schließe ich nun, daß es jetzt geht oder nicht.

Ich hab hier eigentlich einen Experten für Reguläre Ausdrücke, nur der kam auch nicht weiter, da die Phrasen sich wohl gegenseitig im $matches Array überschreiben.

Mit Look-around assertions hatte ich es auch schon probiert, sprich JEDES Element zwischen '{LG:' und '}' was nach einem '|' kommt zu speichern - aber wieder das gleiche, nur die letzte Phrase wurde im Array gespeichert. Was die Vermutung, dass sie sich gegenseitig überschreiben, unterstützt.

Wenn Du auch versuchst mehrere Treffer auf einen Teilausdruck in einem Arrayelement zu speichern. Was bei der Strategie look-around assertions bringen sollen kann ich nicht erkennen, aber egal. Jeder Teilausdruck mit einfachen Klammern wie (xyz) wird in einem Arrayelement gespeichert, wenn man nun (xyz)* schreibt, kann immer noch nur der Teilausdruck in einem Arrayelement gespeichert werden. Du muß versuchen alles was Du haben willst einzeln als kompletten Ausdruck zu erhalten. Mit Teilausdrücken würdest Du nur zum Ziel kommen, wenn Du weißt wie viele Treffe innerhalb von '{LG:' und '}' (maximal) zu erwarten sind.