Regex Frage..

lordfritte

Lieutenant
Registriert
Juli 2006
Beiträge
1.003
Hallo ich habe mal wieder ein kleines Problem mit Regex..
Ich möchte eine Währung darstellen und möchte die Möglichkeit EUR davor zu schreiben oder auch nicht.
Also Folgendes soll möcglich sein:
"E ^\d+(?:\,\d{0,2})?$" oder "EU ^\d+(?:\,\d{0,2})?$" oder "EUR ^\d+(?:\,\d{0,2})?$"
Wie kann ich das optionale E EU oder EUR in einen Ausdruck zusammenfassen?
 
ich würde es damit versuchen
Code:
^(E|EU|EUR)?\s{0,1}(\d+)(?:\,\d{1,2})$

EDIT:
ist (?: .....)? nicht doppelt gemoppelt? Beide "?" geben IMO an das es optional ist, bzw. nicht da sein muss
außerdem will man nach dem Komma sicher eine Stelle, daher würde ich nicht gerade {0,2} verwenden, sondern den Mindestwert im Falle des Kommas ;)
 
Zuletzt bearbeitet:
Das ?: innerhalb der Klammer gibt soweit ich weiß nur an, dass die Gruppe nicht gecaptured wird.
 
ich hab keine Ahnung, aber was ist der unterschied zwischen "nicht gecaptured" (muss nicht zutreffen?) und muss nicht da sein?
 
gut dann korrigiere ich meine Anweisung auf
Code:
^(E|EU|EUR)?\s{0,1}(\d+)(\,[0-9]{1,2})?$
 
Zurück
Oben