Hi!
dafuer gehoert die maskierung an den *slash*.
Nein, das muss auch nicht. Er hat ja = als Delimiter.mein RegExp-tester meckert den ausdruck ohne maskierten
slash in der zeichenklasse trotzdem an - mmh?
Der geht vielleicht davon aus, dass / der Delimiter für den gesamten Ausdruck ist. In dem Fall, muss ein / auch innerhalb einer Zeichenklasse maskiert werden, anderenfalls nicht.
var_dump(preg_match('/foo[bar/]/', 'foo/'));
var_dump(preg_match('/foo[bar\/]/', 'foo/'));
var_dump(preg_match('#foo[bar/]#', 'foo/'));
Die erste Zeile ergibt eine Fehlermeldung ("Unknown modifier ']'" und false als Rückgabe), die beiden anderen Zeilen nicht. (Ergebnis ist jeweils 1 (eine Fundstelle)).
der gesamte ausdruck, so wie ich ihn vorhin gepostet habe, matched nur mit dieser maskierung alle von Louis gegebenen beispiele.
var_dump(preg_match('=[0-9]{1,4}[,./][0-9]{1,3}=', '...'));
So passt das auf alle Beispiele.
Lo!