RegExp {n,m} Problem

Julian Maicher

Erfahrenes Mitglied
Hi!

{n,m} = {Länge min, Länge max}
Richtig?

PHP:
<?php
  echo preg_match("/[a-zA-Z0-9]{4,20}/","123456789012345678901");
?>
Oben genannter Funktionsaufruf gibt TRUE zurück, obwohl der zu überprüfende String > 20 ist.
Gebe ich einen String < 4 ein, liefert die Funktion korrekt FALSE zurück.
Warum funktioniert m, also die maximale Länge nicht?
 
Zuletzt bearbeitet:
Ich kann dir das nicht genau sagen warum aber der sucht wohl ewig weiter im String, aber wenn du ^ für Anfang und $ für Ende nimmst dann geht das auch. Zumindest hilft dir das bei einzeiligen Strings.


PHP:
echo preg_match("/^[a-zA-Z0-9]{4,20}$/","123456789012345678901");
 
Ok, es geht schonmal.
Jetzt will ich aber nicht dumm sterben - also was bewirken ^ und $ ?

** Okay, ^ Start und $ Ende einer Zeichenkette - das erklärt alles.

Danke!
 
Zuletzt bearbeitet:
Zurück