Seite 1 von 1

PREG-MATCH Suchmuster geht nicht

Verfasst: So 04.Jun, 2006 15:45
von Zyancali
Hi!

Ich benutze Folgenden REGEX:

Code: Alles auswählen

^\[(QUADRAT|KREIS|VIERECK|STERN)\][0-9a-zA-Z]{1,200}$
um Dateinamen im folgenden Format zu finden (man beachte die Leerzeichen
hinter manchen "]"):

Code: Alles auswählen

[QUADRAT] Ein simples Quadrat.txt
[KREIS]blablablabla_TestZZ.zip
[VIERECK]  Ein 4-Viereck.bla67
[STERN]Sternsternsternstern
Jetzt bekomme ich einen tollen Fehler:

Code: Alles auswählen

Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in D:\xampp\htdocs\index.php on line 267
Falls es etwas nützt, hier mal der Funktionsaufruf:

Code: Alles auswählen

preg_match('^\[(QUADRAT|KREIS|VIERECK|STERN)\][0-9a-zA-Z]{1,200}$', $filename, $result);
Wie müsste der Regex richtig lauten, damit alle obigen Beispiele gefunden werden?

Danke im Voraus!

Verfasst: So 04.Jun, 2006 17:07
von AmigaLink
Hmmm - probier mal so:

Code: Alles auswählen

preg_match('\[^(QUADRAT|KREIS|VIERECK|STERN)$\][0-9a-zA-Z]{1,200}', $filename, $result);

Verfasst: So 04.Jun, 2006 18:51
von Zyancali
Hi!

Danke für deine Antwort!

Aber leider bekomme ich jetzt eine andere Fehlermeldung:

Code: Alles auswählen

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in D:\xampp\htdocs\index.php on line 279

Verfasst: So 04.Jun, 2006 19:54
von oxpus
So sollte es richtiger sein:

Code: Alles auswählen

preg_match('/\[^(QUADRAT|KREIS|VIERECK|STERN)$\][0-9a-zA-Z]{1,200}/', $filename, $result);