Hallo,
ich versuche gerade, einen String, der aus einer Textdatei stammt, darauf hin zu prüfen, ob er nur aus einem Geldbetrag besteht.
Zum Hintergrund:
Wenn der reguläre Ausdruck nicht zutrifft, dann gibt es zu dem eingelesenen Artikel weitere Ausführungen (entweder eine andere Größe oder/und unterschiedliche Farben).
Es sollen folgende Punkte geprüft werden:
- Teil 1 (optional): Eine Ziffer, gefolgt von einem Punkt als Tausender-Trennzeichen
- Teil 2 (verpflichtend): Mindestens eine Ziffer, aber maximal drei Ziffern
- Teil 3 (optional): Komma, gefolgt von genau zwei Ziffern
Mein derzeitiger Ansatz (Testausgabe) sieht wie folgt aus:
<?php
echo "1,45: " . preg_match ("/^(d{1}\.)?d{1,3}(\,d{2})?$/", "1,45");
?>
Mein Beispiel liefert mir Null zurück, d.h. es findet kein Matching statt, obwohl der Betrag 1,45 ein echter Geldbetrag ist.
Was stimmt an meinem regulären Ausdruck nicht?
Vielen Dank für eure Hilfe und an alle, die heute Weihnachten feiern, ein schönes Fest und geruhsame Feiertage, an alle, die eher dem Julfest zugewandt sind, nachträglich ein schönes Fest und ebenso geruhsame Feiertage und dem Rest einfach nur geruhsame Feiertage :-)
Gruß,
Enrico