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