C# 正则表达式表示十进制数或零 (0)



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

Regex(@"^d+$")

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

1234.12345545
0
12313
12313.13
-12131
-1313.13211312

为了匹配上述所有内容;最合适的正则表达式可能是

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

这匹配上述所有内容;但与格式.3456上的数字不匹配。

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

在这里试试这个

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

这将另外匹配空字符串。

在正则表达式上在线查看

如果不需要匹配空字符串,那么您可以

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

正面的前瞻(?=.+)确保至少有 1 个字符

最新更新