regEx funktioniert nicht wie ich will

schuetzejanett

Erfahrenes Mitglied
Hallo

wollte einen RegEx der beim textvergleich nur true zurückgibt, wenn vor dem Komma1 Zahl ist und nach dem Komma genau 2 Zahlen sind. Komma kann auch Punkt sein

Hier ist mein regEx dafür
Code:
\d+[\.\,]+\d{2}

Das Problem ist gebe ich z.b. vorm Komma mehr als 1 Zahl ein und der rest stimmt kommt true zurück sollte aber ja false sein
gebe ich nach dem , oder . mehr als 2 zahlen ein wird nach der zweiten zahl abgeschnitten und es kommt true raus?

Was ist an meinem regEx verkehrt, und was kann ich machen um nur gewollte Zahlen eingeben zu können oder besser gesagt speichern zu können?

Ist mein erster selbstgeschriebener regEx, deswegen freue ich mich auch über Hinweise wie man es anders und/oder besser machen kann
 
Hi.

Das + bedeutet mind. 1, aber beliebig viele.

Wenn der Text insgesamt nur aus 1 Ziffer, einem Punkt oder Komma und 2 Ziffern bestehen darf, mußt du sicherstellen das der RegExp auch von Beginn bis zum Ende geht:
Code:
^\d[.,]\d{2}$
Gruß
 
Bin nicht unbedingt RegEx-Expertin, aber welche Vergleichsfunktion benutzt du, und was bekommt die übergeben?
Spontan würde ich sagen dass die vielleicht auf "string enthält" und nicht auf "string ist genau" überprüft?

PS: TooLate ^^
 
Zuletzt bearbeitet:
habe es erstmal in einem online regEx tester getestet, und da kam das so raus teste ich aber in meinem programm mit matches passt die antwort nur bei find schneidet er ab, ist jetzt also richtig so, das am anfang muss ich natürlich noch anpassen
 
Zurück