我应该创建一个匹配所有以下值的正则表达式。这些值是百分比,所以最大值是 100:
1
1.
1.11
我无法匹配“ 1.
”。
我尝试了不同的正则表达式......但没有成功......我认为最接近解决方案的是
(\d{1,2})|((\d{1,2})(\.)?((\d{1,5})?))
但它仍然不起作用......
有人可以帮助我吗?
How about:
\b(?:100|\d\d?(?:\.\d{0,5})?)\b
这个正则表达式匹配你的测试用例,加上一些边缘用例:
(?<=^|\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