Mailinglisten-Archive |
Reinhold wrote: > Hallo Felix, > >> Scheint also zu funktionieren? > > ich war zunächst verblüfft - Du hattest natürlich Recht. > > Dann habe ich festgestellt dass ich folgende "Kleinigkeit" in meinem hiesigen Beispiel übersehen hatte: Ich lese die Daten aus einer Datei aus, die durch Tabulatoren getrennt ist. Und dann kommt u.a. so etwas heraus wie folgt: > > $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. \D heisst es kommt ein nicht-Ziffer. Nicht es kommt garnichts mehr. Nimm einfach den hier: $rxp = '/WN(\s)?1707(\D.*)?$/is'; Ist ungetested, sollte meines erachtens aber gehen. Yannik
php::bar PHP Wiki - Listenarchive