Unknown Modifier
Friedhelm
- php
Hallo,
if( preg_match("/^\d{2}[/.-]\d{2}[/.-]\d{4}$/", $row[1]) ) {
ergibt
Warning: preg_match() [function.preg-match]: Unknown modifier '.' in C:\xampplite\htdocs\d1\d1sql.php on line 5778
Weiß einer, warum?
Grüße, Friedhelm
Hello,
if( preg_match("/^\d{2}[/.-]\d{2}[/.-]\d{4}$/", $row[1]) ) {
ergibt
Warning: preg_match() [function.preg-match]: Unknown modifier '.' in C:\xampplite\htdocs\d1\d1sql.php on line 5778
Ich vermute, es liegt an deiner Wahl der Begrenzer.
/^\d{2}[/.-]\d{2}[/.-]\d{4}$/
^ ^ ^ ^
Die Begrenzer dürfen innerhalb der Expression nicht vorkommen, oder müssen maskiert werden
~^\d{2}[/.-]\d{2}[/.-]\d{4}$~
könnte also funktionieren. Ich habe jetzt die Sinnhaftigkeit der Expression nicht betrachtet, sondern nur die Formalien.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom,
~^\d{2}[/.-]\d{2}[/.-]\d{4}$~
könnte also funktionieren. Ich habe jetzt die Sinnhaftigkeit der Expression nicht betrachtet, sondern nur die Formalien.
Jawohl. Diese tun es.
Vielen Dank für den Tip.
Viele Grüße, Friedhelm
~^\d{2}[/.-]\d{2}[/.-]\d{4}$~
könnte also funktionieren. Ich habe jetzt die Sinnhaftigkeit der Expression nicht betrachtet, sondern nur die Formalien.
Jawohl. Diese tun es.
Ich meine nicht - Zawinski grüßt mal wieder: du willst vermutlich prüfen, ob der Feldwert ein Datum darstellt.
99.10.2000 rutscht da locker durch aber auch 12.03-2011 oder 12-03.2011.
Der 1.1.2011 hingegen wäre ein Fehler.
strptime() und checkdate() sind da wesentlich schlauer.
@@suit:
nuqneH
Ich meine nicht - Zawinski grüßt mal wieder: du willst vermutlich prüfen, ob der Feldwert ein Datum darstellt.
Kann man auch mit regulärem Ausdruck … ;-)
Qapla'
PS: Sollte man aber nicht!
Ich meine nicht - Zawinski grüßt mal wieder: du willst vermutlich prüfen, ob der Feldwert ein Datum darstellt.
Kann man auch mit regulärem Ausdruck … ;-)
Das RegEx-Monster welches ein Datum nach dem gregorianischen Kalender auf Gültigkeit prüft möchte ich nicht sehen :D
@@suit:
nuqneH
Das RegEx-Monster welches ein Datum nach dem gregorianischen Kalender auf Gültigkeit prüft möchte ich nicht sehen :D
Schade. Dabei hab ich mir solche Mühe gegeben. [http://forum.de.selfhtml.org/archiv/2006/3/t126272/#m814810 ff.]
Das RegEx-Monster, welches ein Datum im Format DD.MM.YYYY nach dem gregorianischen Kalender auf Gültigkeit prüft, möchte ich nicht schreiben. ;-)
Qapla'
Das RegEx-Monster welches ein Datum nach dem gregorianischen Kalender auf Gültigkeit prüft möchte ich nicht sehen :D
Schade. Dabei hab ich mir solche Mühe gegeben. [http://forum.de.selfhtml.org/archiv/2006/3/t126272/#m814810 ff.]
Das RegEx-Monster, welches ein Datum im Format DD.MM.YYYY nach dem gregorianischen Kalender auf Gültigkeit prüft, möchte ich nicht schreiben. ;-)
ISO 8601 != Gregorianischer Kalender :p
Während ISO 8601 proleptisch ist, ist es der eigentliche gregorianische Kalender nicht - und diese Sonderfälle zu berücksichtigen (unterschiedliche Kalenderreformationszeitpunkte usw wird schwierig.
Nach ISO 8601 per regulärem Ausdruck zu prüfen ist aber dennoch sehr eindrucksvoll.
Ich meine nicht - Zawinski grüßt mal wieder: du willst vermutlich prüfen, ob der Feldwert ein Datum darstellt.
Hi,
das stimmt zwar. Aber ich prüfe nur Werte, die ich selber in eine Spalte eingetragen habe und da gibt es entweder ein vordefiniertes Datumsformat oder einen String, der einfach kein Datum darstellt.
Deshalb habe ich es mir relativ einfach mit der regex gemacht.
Gruß, Friedhelm