RegEX: Betrag aus Zeichenkette identifizieren

Hallo Leute habe ein ähnliches Problem...
Ich versuche aus einer Rechnung den Gesamtbetrag zu ziehen, nur kann dieser mal Brutto, mal Gesamtbetrag, mal Endbetrag heißen... Habe jetzt eine weile am Code rum gefummelt und laut Regex101 - online regex editor and debugger wird auch gefunden was gesucht wird... Doch benutze ich den Code bei EcoDMS kommt z.b.:
"Gesamtsumme: Verpackung / Versandkosten Netto 0,00 € per Rechnung innerhalb 10 Tagen 314,16 €"
Mein Code ist: (?<=SUMME|Gesamtsumme|Brutto|Gesamtbetrag|Endsumme|Rechnungsbetrag):))*([\s]*|(EUR|€))*(((\d*(,|.))*\d{2}))([\s]|€)*
Da manchmal EUR oder € manchmal Leerzeichen manchmal nicht sind soll er recht umfassend sein..
Hier ein Beispiel einer Rechnung
Download.png
Hier auch nochmal 4 Beispiele worauf er anspringen sollte
Brutto €9,50
Gesamtsumme: EUR 328.999,00 €
Endsumme € 1.332,80 €
Rechnungsbetrag 1.425.50€
Am besten wäre es wenn er am Ende auch noch die Leerzeichen raus schmeißt...
 
Zuletzt bearbeitet:
Habe den Fehler gefunden "REGEX:" muss vor den Code geschrieben werden... nun habe ich das nächste Problem.. mit dem Code
Code:
REGEX:(?<=SUMME|Gesamtsumme|Brutto|Gesamtbetrag|Endsumme|Rechnungsbetrag)(:)*([\s]*|(EUR|€))*(((\d*(,|.))*\d{2}))([\s]|€)*
nimmt er alle Zahlen Gesamtsumme (siehe Bspl) doch er findet: ": 0,00 € 39,98 €" jetzt kann man davon ausgehen das der größe INT Wert, der Gesamtsumme entspricht. Ich suche nach einen vergleichoperator der die Zahlen vergleicht und die höhere ausspuckt. Geht das mit RegEx oder muss ich etwas am einleseverfahren ändern damit er Zeilen richtig erkennt?BeispielMCRechnungpaint.PNG
 
Zuletzt bearbeitet:
Zurück