Java正则表达式为钱

时间:2013-03-11 08:52:00

标签: java regex java-ee logic

我想制作正则表达式,可用逗号,假设小数,负号或括号,美元符号,小数,仅数字来验证金额。

我使用了以下表达式

((\\$?(([0-9]{0,1})?\\.[0-9]{1,2}))|(\\$?([1-9]{1}[0-9]{0,2}([,][0-9]{3})*)(\\.[0-9]{1,2})?))

它适用于23,000美元等,但如何处理负号或括号

请建议。

1 个答案:

答案 0 :(得分:3)

货币金额美国& EU(可选分)可以使用美式 123,456.78 表示法和欧式 123.456,78 表示法。可选千位分隔符;可选的两位数分数

Match; JGsoft:
^[+-]?[0-9]{1,3}(?:[0-9]*(?:[.,][0-9]{2})?|(?:,[0-9]{3})*(?:\.[0-9]{2})?|(?:\.[0-9]{3})*(?:,[0-9]{2})?)$

参考:here