Hallo,
ich komm da nicht drauf. Ich möchte die Eingabe von Mengen (String wird später auf Zahl geändert) auf Zahlen prüfen und nach dem Komma sollten nur 2 Stellen möglich sein. Max. Zahlengröße 9 Stellen dann zwei Kommastellen. Ich lese da schon 2 Tage im Internet auf den regex Seiten herum komme aber nicht drauf wie ich das lösen könnte.
Ich hab da schon was gefunden, was da auf Zahlen prüft, aber nicht auf zwei Kommastellen.
txt = "123,45"
if re.match("\d+(\,\d\d)", txt):
print("true")
else:
print("false")
Nachsehendes habe ich auch schon gehabt aber das funktioniert auch nicht so wie vorhin beschrieben.
if re.match("^/[0-9]+$/{3,}", txt)
Könnt Ihr mir bitte da helfen. Danke im Voraus.
Mit regex auf Zahlen und Komma prüfen
- __blackjack__
- User
- Beiträge: 13242
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Wahrscheinlich will man hier eher `fullmatch()` statt nur `match()`.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Mit 'fullmatch' funktionieren die zwei Kommastellen habe ich getestet.
txt = "123,45"
if re.fullmatch("\d+(\,\d\d)", txt):
print("true")
else:
print("false")
Die Eingrenzung auf zwei Nachkommastellen habe ich auch geschafft.
if re.fullmatch("\d+(\,\d\d){0,3}", txt):
Jetzt fehlt mir nur noch die max. 9 Stellen vor dem Komma. Bitte um weitere Hinweise. Danke vielmals.
txt = "123,45"
if re.fullmatch("\d+(\,\d\d)", txt):
print("true")
else:
print("false")
Die Eingrenzung auf zwei Nachkommastellen habe ich auch geschafft.
if re.fullmatch("\d+(\,\d\d){0,3}", txt):
Jetzt fehlt mir nur noch die max. 9 Stellen vor dem Komma. Bitte um weitere Hinweise. Danke vielmals.
Hallo Spezialisten,
ich glaube ich habe ein Lösung gefunden. So sollte es funktionieren:
txt = "0,30"
if re.fullmatch("^\d{1,7}(,\d{2}){1,3}",txt):
print("true")
else:
print("false")
Wenn ihr anderer Meinung seit bitte um Info und Danke für euer Interesse und Hilfe.
ich glaube ich habe ein Lösung gefunden. So sollte es funktionieren:
txt = "0,30"
if re.fullmatch("^\d{1,7}(,\d{2}){1,3}",txt):
print("true")
else:
print("false")
Wenn ihr anderer Meinung seit bitte um Info und Danke für euer Interesse und Hilfe.
Hallo Sirius3 danke das ^ habe ich rausgenommen. Letzter Stand: re.fullmatch("\d{1,7}(,\d{2})",txt)
7 Stellen vor Komma, 2 Stellen nach Komma wird auf Zahlen geprüft.
Frage: Wie kann ich diese Kontrolleingaben für mehrere Entryfelder verwenden?
Mit bindall hab ichs versuchst habe ich nicht geschaft.
7 Stellen vor Komma, 2 Stellen nach Komma wird auf Zahlen geprüft.
Frage: Wie kann ich diese Kontrolleingaben für mehrere Entryfelder verwenden?
Mit bindall hab ichs versuchst habe ich nicht geschaft.