十进制数的正则表达式

时间:2010-05-05 18:40:45

标签: .net regex decimal

我需要一个验证RegEx的十进制数。小数点后最多允许5位数。允许:

1    
1.0    
12.0    
12.01    
123.01    
1,123.01    
1,123.013
21,123.01234    
3,21,123.01234

我怎么能为此做正则表达式?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

^[\d,]+(\.\d{1,5})?$

答案 2 :(得分:2)

您想验证逗号的位置吗?如果是这样,这适用于您似乎正在使用的印度编号系统:

^(?:\d{1,2},(?:\d{2},)*\d{3}|\d{1,3})(\.\d{1,5})?$

如果你想在整数部分允许逗号但不关心它们的位置(除了它不能用逗号开头或结尾),这样做:

^\d+(?:,\d+)*(\.\d{1,5})?$

答案 3 :(得分:0)

http://regexlib.com/有一个很棒的常用正则表达式库。

您可以使用标准表达式:^\$[0-9]+(\.[0-9][0-9])?$或其中一个替代版本执行相同的操作,具体取决于您要匹配的确切风格。