Regex

Immer wieder Regex…

Ist es möglich per Regex Strings auf einen minimalen und maximalen Zahlenwert zu vergleichen?

Ob es eine Zahl ist prüfe ich momentan so:

"123".matches("\\d*")

Nun müssten noch die Grenzen überwacht werden, ohne jedoch die Zahl als solches in eine Zahl zu konvertieren, ich brauche sie als String…

“Zahlenwert” sagt ja jetzt nicht so toll viel.
Was soll es denn sein? Integer? Konkreter Beispielfall?
Was spricht gegen eine temporäre Wandlung für die Überprüfung?

Geht nicht, woher soll der Regex auch wissen ob es sich um eine Zahl, ein Datum etc. handelt? Wie der Vorredner schon gesagt hat bleibt dir nichts anderes übrig als den gematchten String noch einmal gesondert zu überprüfen.

Es spricht wahrscheinlich nichts dagegen…

Werde den weg über eine temporäre umwandlung gehen müssen…

PS: Zahlenformat sollte egal sein…

Also gehen tut das schon. Es wird nur -je nach Zahl- beliebig komplex. Z.B. die Überprüfung bei IP-Adressen (0 bis 255): http://www.regular-expressions.info/examples.html Temporäre Umwandlung in Zahl ist da vielleicht doch besser und führt vor allem auch zu lesbarerem Code.