Sven Rautenberg: Reguläre Ausdrücke, Lösung gefunden! Danke.

Beitrag lesen

Moin!

Die Frage mit den Backslashes hat sich auch klären lassen, inde ich mir das resultierende Pattern ausgeben lassen habe. Es ist PHP egal, ob man einen \ oder zwei \ nimmt. Es resultiert daraus immer nur einer. Ich habe jetzt, um zum Manual konform zu bleiben, zwei benutzt.

Es ist nicht egal. Der Backslash wird ja als Escape-Zeichen bzw. als Einleiter für Sonderzeichen wie \n benutzt.

Um in einem String selbst einen Backslash zu platzieren, muß er verdoppelt werden: "\" -> \

Ein einzelner Backslash, der nicht mit einem nachfolgenden Zeichen zu einer Sonderfunktion geführt werden kann, bleibt aber als einzelnes Zeichen erhalten.
"\n" -> chr(10)
"\z" -> \z

Du solltest also dringend das Escaping des Strings mit berücksichtigen, um nicht unerwartet in irgendwelche Fallen zu tappen. Die Regex-Engine will zum Escapen von Punkten beispielsweise . erhalten, um diesen String aber in PHP in den Programmcode einzugeben, ist "\." notwendig. Arbeitest du nur mit ".", funktioniert das aufgrund der fehlenden Sondereigenschaften des Zeichens . so, wie erwartet - aber wehe, du ersetzt den Punkt durch z.B. ein n...

- Sven Rautenberg