C#RegEx表示十进制数或零(0)

时间:2011-05-18 09:02:50

标签: c# regex

这会获取所有数字,但不会浮动数字

Regex(@"^\d+$")

我也需要它来获取这些值:

1234.12345545
0
12313
12313.13
-12131
-1313.13211312

2 个答案:

答案 0 :(得分:2)

用于匹配以上所有内容;最合适的正则表达式可能是

@"^[+-]?\d+(\.\d+)?$"

这符合以上所有要求;但不是.3456格式的数字。

它还匹配格式为+123和-1234.5678

的数字

答案 1 :(得分:1)

在这里试试

^(?:[-+]?[1-9]\d*|0)?(?:\.\d+)?$

这将另外匹配空字符串。

See it online here on Regexr

如果不想匹配空字符串,则可以在正则表达式中添加长度检查,如

^(?=.+)(?:[-+]?[1-9]\d*|0)?(?:\.\d+)?$

正向前瞻(?=.+)确保至少有一个字符