phpbar.de logo

Mailinglisten-Archive

[php] RegEx-Ausdruck funzt nicht

[php] RegEx-Ausdruck funzt nicht

Ulf Seltmann seltmann at digitalzone.de
Mon Nov 5 09:50:21 CET 2007


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