Mailinglisten-Archive |
Shit, das war zu schnell gesendet :(
On 31 Jan 00, at 16:59, Reusser Lukas wrote:
> Ich möchte pruefen, ob in der Variable am Anfang und am Schluss eine
> Zahl steht und ob irgendwo dazwischen ein Punkt (.) oder ein Komma (,)
> steht. Das Manual gibt leider nicht sehr viel Auskunft darüber. Das
> erste "ereg" funktioniert. Zusammen mit dem Zweiten läuft es aber nicht
> mehr. Ich bekomme immer die Meldung "Fehlerhafte Eingabe". [0-9]* [0-9]+
> [0-9]{n} Auch die Bedeutung dieser Ausdruecke hier ist mir noch nicht
> ganz klar
$test1 = "456.54,56";
$test2 = "456.54,";
$test3 = "21.23.34";
$test4 = ".45,56";
$test5 = "45,456,456";
echo preg_match("/^(\d+)(\.\d+)*(,\d+)?$/",$test3,$x);
Das geht in den Fällen 1,3
wenn du statt dem * ein ? machst, kann nur EIN Punkt vorkommen
(legt mcih nicht drauf fest, ich bin kein regex experte ;)
[0-9]* = 0 oder mehrere zahlen von 0-9
[0-9]+ = 1 oder mehrere '' '' ''
[0-9]{n} = n oder mehrere '' ''
könnte aber auch GENAU n zahlen von 0-9 heißen, das weiß ich
jetzt nicht genau.
Lies Dir dazu unbedingt
http://www.php.net/manual/pcre.pattern.modifiers.php3
http://www.php.net/manual/pcre.pattern.syntax.php3 und
http://www.phpbuilder.com/columns/dario19990616.php3
durch.
Sorry nochmal für das vorschnelle, unvollständige Vorabposting ;)
Franz
--
[ Franz Graf - Webdesign ]
[ FutureByte - Net Development Equipment ]
[ http://www.futurebyte.net ]
php::bar PHP Wiki - Listenarchive