金钱的Java正则表达式

Posted

技术标签:

【中文标题】金钱的Java正则表达式【英文标题】:Java Regular expression for money 【发布时间】:2013-02-26 09:12:40 【问题描述】:

我想为货币制作正则表达式,可以使用逗号、假定小数、负号或括号、美元符号、小数、仅限数字来验证金额。

我使用了以下表达式

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

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

请指教。

【问题讨论】:

试试,发帖,我们会给你一个你无法拒绝的提议。 令人惊讶的是,我因提出问题而失去了如此多的声誉 :) 这确实在削弱用户对此类系统的信任... @deadlock 我做到了,它不起作用.. @Imran - 您可能需要阅读How To Ask 上的常见问题解答。如果您以后通读并发布更详细的问题,他们将不会被否决。 【参考方案1】:

货币金额 US & 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

【讨论】:

什么?那是一些超级正则表达式。我敢打赌只有外星人才能读懂。 @vikingsteve,为什么?那只是该正则表达式中的基本内容,没有使用高级正则表达式功能。

以上是关于金钱的Java正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

常用校验正则表达式记录

单行 JS 实现移动端金钱格式的输入规则

java正则表达式的使用

java正则表达式

java 正则表达式

java匹配url的正则表达式