0

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

  • 1
  • 1.
  • 1.11

我无法匹配“ 1.”。

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

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

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

有人可以帮助我吗?

4

2 回答 2

0

How about:

\b(?:100|\d\d?(?:\.\d{0,5})?)\b
于 2013-09-26T14:35:27.473 回答
0

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

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

查看与所有这些匹配的现场演示:

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

但不是:

(blank)
12.123456
111
1111
于 2013-09-29T14:04:18.457 回答