Mailinglisten-Archive |
Yannik Hampe schrieb: > Reinhold wrote: >> $str = "WN1707"; >> $alt = "WN17072"; >> $rxp = '/WN(\s)?1707\D/is'; >> >> print preg_match($rxp, $str); >> print preg_match($rxp, $alt); >> >> Dann sind beide Fälle False. >> Verstehe nicht, warum auch der Erste False ist. >> Es kommt keine Ziffer nach 1707, und das bedeutet doch der Parameter \D !? > > NEIN! > \d = [0-9] > \D = [^0-9] > Einen Platzhalter, der für etwas oder auch nichts steht gibt es nicht. Platzhalter stehen auch immer nur für ein Zeichen. Deren Vorkommen bestimmen Modifikatoren wie ?, +, *, {} > $rxp = '/WN(\s)?1707(\D.*)?$/is'; nach einer Nicht-Ziffer darf dann aber kommen, was will: $alt = 'WN1707D2435452dfgfdg&/&(%$'; reicht völlig und verwirrt nicht so wie Yanniks Vorschlag: $rxp = '/WN(\s)?1707\D*$/is'; ^^^^ wozu die Klammern? verwendest du das Leerzeichen weiter? ciao ulf
php::bar PHP Wiki - Listenarchive