什么是C#正则表达式,它将验证货币,浮点数或整数?

nai*_*own 8 c# regex numbers currency

什么是适合C#的正则表达式,如果匹配以下内容,它将验证一个数字?

 $1,000,000.150
 $10000000.199
 $10000 
 1,000,000.150
 100000.123
 10000
Run Code Online (Sandbox Code Playgroud)

还是负面的等价物?

gre*_*ker 14

如果对它进行一点修改,可以使用csmba的正则表达式.

^\$?(\d{1,3},?(\d{3},?)*\d{3}(.\d{0,3})?|\d{1,3}(.\d{2})?)$
Run Code Online (Sandbox Code Playgroud)


Ren*_*uis 5

我认为ssg是对的.它并不是真正好用的Regex,特别是如果你的软件必须处理非美国中心数据输入.

例如,如果货币符号是欧元,或日元或英镑,那么其他十几种货币符号是什么?

数字格式规则怎么样?

在美国你会进入1,000,000.00但在法国,这应该是1.000.000,00.其他国家/地区允许数字分组之间的间距...

如果您在不考虑文化的情况下使用直接正则表达式,那么除非您100%确定您的软件永远不会在非美国中心环境中使用,否则您永远不会成功验证.