正则表达式为整数或双精度值

sou*_*zer 2 c# regex

我正在尝试使用正则表达式来接受整数和双精度值(正数和负数).

这就是我所拥有的:

 @"-?d*(?:\d*\.\d*)?$"
Run Code Online (Sandbox Code Playgroud)

在此之前被标记为重复的问题,我已经检查了所有问题,因此我最终得到了相同的问题:

5 and -5 -> true

5.00 and -5.00 -> true

BUT... 5. and -5. -> true
Run Code Online (Sandbox Code Playgroud)

它只需<数字+点>,在这种情况下,''''和'-5.''作为"有效"数字.同样,我已编译过的其他类似答案中也存在同样的问题.

Art*_*aca 9

这应该适合你:

@"-?\d+(?:\.\d+)?"
Run Code Online (Sandbox Code Playgroud)

仅在有数字后才匹配点.