十进制数验证失败

时间:2013-09-26 14:24:56

标签: regex vb.net

我应该创建一个匹配所有后续值的正则表达式。这些值是百分比,因此最大值为100:

  • 1
  • 1.
  • 1.11

我无法匹配“1.”。

我尝试了不同的正则表达式...但没有成功......我认为最接近解决方案的是

(\d{1,2})|((\d{1,2})(\.)?((\d{1,5})?))

但它仍然不起作用......

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

怎么样:

\b(?:100|\d\d?(?:\.\d{0,5})?)\b

答案 1 :(得分:0)

这个正则表达式匹配您的测试用例,再加上一些边缘情况:

(?<=^|\s)(?=[\d.])(100|\d{0,2})(\.\d{0,5})?(?=\s|$)

查看符合所有这些内容的live demo

.1
.12345
0.1
1
1.
1.11
12
99
100

但不是:

(blank)
12.123456
111
1111