正则表达式将匹配限制为6个小数位的十进制值?

时间:2011-04-14 11:45:32

标签: c# regex

我必须编写一个与以下模式匹配的正则表达式,它应该匹配十进制值,可以采用下面显示的格式。

  
      
  1. 100.00
  2.   
  3. -100.00
  4.   
  5. 0.6777
  6.   
  7. 0.45555
  8.   
  9. 十进制值的正常输入,如100 100.25 100 ....   并且小数点应限制在6位小数位。
  10.   

这是我到目前为止所写的正则表达式:

return Regex.IsMatch(value, "^((\\+|-)(\\d*))+((\\.|,)\\d{0,5})?$");

目前,如果值类似于+100-100,则reqular表达式匹配。如果我输入类似100的值,则不接受,如果我从像.899这样的小数点开始,那么IsMatch将返回false。

3 个答案:

答案 0 :(得分:2)

正确的表达是

^((\+|-)?(\d*))+((\.|,)\d{0,6})?$

您可以在http://www.fileformat.info/tool/regex.htm进行测试。

答案 1 :(得分:2)

您可以尝试:

^[+-]?\d*([.,]\d{1,6})?$

答案 2 :(得分:0)

(+|-)?\d*[.,]?\d{0,6}$将发布7个侏儒。