Hallo,
Ich habe hier eine Aufgabe bei der ich einfach nicht den Fehler finden kann.
Und zwar habe ich eine CSV, davon wird zeilenweise ausgelesen und einer Methode als String übergeben.
Jetzt habe ich hier verschiedene Bedingungen die erfüllt sein müssen.
Ich muss Preise validieren.
Es muss ein Blank oder Text am Anfang vorhanden sein.
Der Preis ist nicht negativ.
Die Preise bestehen aus Zahlen und einer Währung, zwischen Währung und Preis sind mehrere oder kein Blank.
Währungen sind immer groß geschrieben & nur EUR,DOLL,YEN,CHF
Nach der Währung kommt ein Blank oder Textende.
Zudem muss ich noch die Preise und deren Währungen rausextrahieren.
So, ich gehe mal einzeln sämtliche Bedingungen ab, vielleich sieht man meinen Fehler ja so einfacher.
(\\s|\\w)+ Anfangs Blank oder Text
[^-] Nicht negativ
(\\d+(\\.{1}\\d+)?) Preis
\\s* zwischen Währung und Preis ein oder mehrere Blank
(EUR|YEN|CHF|...)+ Währung
\\s+|$ Blank oder Textende nach Währung
Wenn ich jetzt zB " 40EUR " matche oder "bez 40YEN 104.3EUR" oder sonst was erhalte ich immer nur false.
Kann mir vielleicht irgendjemand verraten wo ich hier einen Fehler drin habe?
Edit:Hab ein bisschen rumgespielt und es funktioniert jetzt
Ich habe hier eine Aufgabe bei der ich einfach nicht den Fehler finden kann.
Und zwar habe ich eine CSV, davon wird zeilenweise ausgelesen und einer Methode als String übergeben.
Jetzt habe ich hier verschiedene Bedingungen die erfüllt sein müssen.
Ich muss Preise validieren.
Es muss ein Blank oder Text am Anfang vorhanden sein.
Der Preis ist nicht negativ.
Die Preise bestehen aus Zahlen und einer Währung, zwischen Währung und Preis sind mehrere oder kein Blank.
Währungen sind immer groß geschrieben & nur EUR,DOLL,YEN,CHF
Nach der Währung kommt ein Blank oder Textende.
Zudem muss ich noch die Preise und deren Währungen rausextrahieren.
So, ich gehe mal einzeln sämtliche Bedingungen ab, vielleich sieht man meinen Fehler ja so einfacher.
(\\s|\\w)+ Anfangs Blank oder Text
[^-] Nicht negativ
(\\d+(\\.{1}\\d+)?) Preis
\\s* zwischen Währung und Preis ein oder mehrere Blank
(EUR|YEN|CHF|...)+ Währung
\\s+|$ Blank oder Textende nach Währung
Wenn ich jetzt zB " 40EUR " matche oder "bez 40YEN 104.3EUR" oder sonst was erhalte ich immer nur false.
Kann mir vielleicht irgendjemand verraten wo ich hier einen Fehler drin habe?
Edit:Hab ein bisschen rumgespielt und es funktioniert jetzt
Zuletzt bearbeitet: