金钱的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正则表达式的主要内容,如果未能解决你的问题,请参考以下文章