Thoralf Knuth: Wildcards -> RegExp

Beitrag lesen

Hallo Christian,

Ich will zum Beispiel aus *.txt folgendes machen: preg_match('/(.+.txt$/', $dateiname ).
Was aber falsch ist, denn korrekt wäre /^.*.txt$/ - "*" matched nämlich auch gar nichts:

Hast Du völlig recht, war ein Ausschnitt, mit dem ich Dateien gesucht hatte, die nicht nur Erweiterung sondern auch Name im Windows-Sinn haben mussten. Und dann natürlich nicht geändert. ;) Danke, der Fehler hätte sich vermutlich lange im Code gehalten.

In http://de3.php.net/manual/de/pcre.pattern.syntax.php sind die Zeichen aufgelistet:

"", "^", "$", ".", "[", "]", "|", "(", ")", "?", "*", "+", "{", "}" und noch der Delimiter. Alle bis auf ? und * musst Du nun durch \X ersetzen. (wobei X hier das Zeichen sei) ? musst Du durch . ersetzen und * durch .*

Besten Dank, diese Liste habe ich gesucht, wohl nicht gründlich genug. ;)

Gruss, Thoralf