Mailinglisten-Archive |
Franz Graf wrote:
> 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 ;)
Das funktioniert aber nur bei PHP4. Andrei hat das noch nicht nach PH3
portiert und wird dieses auch nicht mehr machen.
Die Grundfunktionalitäten der Regex-Libraries sind aber fast identisch.
Die ursprüngliche stammt von Henry Spencer (die POSIX Regexps) von
Toronto, Canada, und die die Andrei dazu geschrieben hat, stammt von
Perl ab.
-Egon
--
Grüninger Straße 6 · D-70599 Stuttgart
Fon +49 711 45 37 21 · http://www.php.net/
http://www.php.net/manual/ · http://www.php.net/books.php3
Concert Band: http://www.uni-hohenheim.de/~windband/
php::bar PHP Wiki - Listenarchive