4

是否有任何干净的方法来生成将匹配使用语言环境配置的 java NumberFormat 格式化的值的正则表达式?或者一些图书馆会这样做?

这是在一个基于 Web 的应用程序中,我想将正则表达式传递到 jsp 页面,以便对数字字段进行 javascript 验证。语言环境因每个用户而异,我不想为每种数字格式手动编码特定的正则表达式。

4

1 回答 1

1

不幸的是DecimalFormat使用它自己的模式语言

您可以像这样获取模式字符串:

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

在我的系统上返回"¤#,##0.00"

您也许可以推出自己的函数,将其转换为正则表达式(仅限于您的应用程序中使用的情况),但它不在标准库中,我不知道有任何第三方库可以做到这一点.

于 2010-02-05T18:26:40.520 回答