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

时间:2016-02-25 22:50:54

标签: c# regex

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

这就是我所拥有的:

 @"-?d*(?:\d*\.\d*)?$"

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

5 and -5 -> true

5.00 and -5.00 -> true

BUT... 5. and -5. -> true

需要<数字+仅限点>,在这种情况下,“5。”和“-5。”作为“有效”数字。同样,我已经编译过的其他类似答案中也出现了同样的问题。

2 个答案:

答案 0 :(得分:5)

这应该对你有用:

@"-?\d+(?:\.\d+)?"

仅在点后面有数字时才匹配。

答案 1 :(得分:0)

试试这个:

/^-?\d(.\d+)?[^.]/

Online Demo