Regulärer Ausdruck gesucht für Preis
Alex
- perl
hi,
ich hatte schon immer meine probleme mit regulären ausdrücken.
ich muss einen preis überprüfen, ob da nur zahlen drin sind, aber es darf ein punkt oder ein komma auch drin sein.
$price !~ /^\d*$/;
der preis wird auf zahlen überprüft, aber wenn ich jetzt 10,00 oder 10.00 eingebe dann sind ja nicht nur zahlen sondern auch ein punkt oder ein komma.
der ausdruck müsste so funktionieren.
preis darf nur bestehen aus: zahlen + . oder ,
zahl muss sein^ ^ ^
darf aber muss nicht enthalten sein
ich hoffe ihr versteht wie ich es meine.
use Mosche;
ich hatte schon immer meine probleme mit regulären ausdrücken.
ich muss einen preis überprüfen, ob da nur zahlen drin sind, aber es darf ein punkt oder ein komma auch drin sein.
Dann fang doch mal ganz einfach an: (Preis in $_)
1.) Ich empfehle, Preise einheitlich zu schreiben, d.h., entweder Punkte oder Kommata.
=> tr/./,/;
Am Anfang mindestens eine Zahl
/^\d+/
Dann optional ein Komma und mindestens eine Zahl. Dann ist das Ding zu Ende.
/^\d+(,\d+)?$/
Wenn du Kommas, Punkte behalten willst:
/^\d+([,.]\d+?$/
Ohne es getestet zu haben.
use Tschoe qw(Matti);
Hallo Matti,
Wenn du Kommas, Punkte behalten willst:
/^\d+([,.]\d+?$/
kleine Verbesserung:
/^\d+([,.]\d+)?$/
Gruesse,
CK
Hi Christian,
Wenn du Kommas, Punkte behalten willst:
/^\d+([,.]\d+?$/kleine Verbesserung:
/^\d+([,.]\d+)?$/
Das ganze war als Übung für den Fragesteller gedacht, wollte sehen, ob er das ganze nachvollziehen kann und den (extra eingebauten) Fehler findet *g*
:-)
use Tschoe qw(Matti);