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