4 Stimmen

java erzeugt regulären Ausdruck aus lokalisiertem NumberFormat

Gibt es eine saubere Möglichkeit, einen regulären Ausdruck zu generieren, die Werte mit einem lokal konfigurierten Java NumberFormat formatiert übereinstimmt? Oder eine Bibliothek, die dies tut?

Dies ist in einer webbasierten App und ich möchte die Regex aus, um die JSP-Seite für Javascript-Validierung auf numerische Felder übergeben. Gebietsschema variiert auf einer pro-Benutzer-Basis und ich möchte nicht zu Hand-code spezifische Regexes für jede Zahl Format da draußen.

1voto

finnw Punkte 46519

Leider DecimalFormat verwendet eine eigene Mustersprache .

Sie können die Musterzeichenfolge wie folgt erhalten:

DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance();
// ...
String patter = nf.toLocalizedPattern();

Auf meinem System wird Folgendes angezeigt "¤#,##0.00"

Sie können vielleicht Ihre eigene Funktion entwickeln, die das in einen Regex umwandelt (beschränkt auf die Fälle, die in Ihrer Anwendung verwendet werden), aber es ist nicht in der Standardbibliothek und ich bin mir keiner Bibliothek eines Drittanbieters bewusst, die das tut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X