繁体   English   中英

C#RegEx为十进制数字或零(0)

[英]C# RegEx for decimal number or zero (0)

这将获取所有数字,但不能获取浮点数字

Regex(@"^\d+$")

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

1234.12345545
0
12313
12313.13
-12131
-1313.13211312

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

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

这符合以上所有条件; 但不能使用.3456格式的.3456

它还匹配+123和-1234.5678格式的数字

在这里试试

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

这将另外匹配空字符串。

在Regexr上在线查看

如果不希望匹配空字符串,则可以将长度检查添加到正则表达式中,例如

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM