Mailinglisten-Archive |
Ulf Seltmann wrote: > 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'; Doch, dabei habe ich mir schon was gedacht: $alt ='WN1707blablubb6d78'; Dann folgen da hinten nochmal irgendwo Zahlen und dein Regex geht nicht auf. Meiner schon. Yannik
php::bar PHP Wiki - Listenarchive