我正在尝试编写一个正则表达式,用于接受1-99的正数并接受最多2位的小数 我写了这个表达
([1-9]|[1-9][0-9])(.[0-9]{1,2})?
但是当我测试表达式时,它接受100和小数最多3个位置,而我希望小数最多只有2个位置而且不应该接受100个。
答案 0 :(得分:3)
将符合.
的任何字符的\.
转义为([1-9]|[1-9][0-9])(\.[0-9]{1,2})?
。你没有这个分隔符,所以请注意,这将匹配,例如,字符串191.234中的91.23。
{{1}}
答案 1 :(得分:3)
这似乎对我有用:
/^[1-9][0-9]?(\.[0-9]{,2})?$/
正如大卫所说,你需要逃脱你的.
,或者它匹配任何角色,包括一个数字。
答案 2 :(得分:-1)
我会选择这个^(?:\d[1-9]|[1-9]|[1-9][0-9])(?:\.(?:[0-9][1-9]|[1-9]))?$
0 FAIL
0.0 FAIL
0.00 FAIL
0.1 FAIL
0.12 FAIL
1 PASS
12 PASS
135 FAIL
1.00 FAIL?
01.35 PASS
10.35 PASS
12.01 PASS
12.1 PASS
12.23 PASS
12.234 FAIL
在第一次评论后编辑回复。
答案 3 :(得分:-1)
这将匹配1-99和最多2位小数。
((0?[1-9]|[1-9][0-9])\.[0-9]{1,2})