RegEx,接受错误的字符串

时间:2015-03-08 14:50:47

标签: java regex

这是我的RegEx的第一个版本

(^[0-9]?[0-9]?.[0-9]?[0-9]?$?)|(^[0-9]?[0-9]?$)

我只想接受 22.22 2.22 等字符串。 22.2 .2 22 空字符串等。

然而,它也接受256,2568,25690,我不知道为什么。

另外,我尝试了另一个版本,但它也没有用。

(^[0-9]{0,2}.{1}[0-9]{0,2}$)?|(^[0-9]{0,2}$)

你能解释一下我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

^\d{0,2}(\.\d{1,2})?$

RegEx Demo

它会接受:

22.22
2.22
22.2
.2
22
<empty>

但不会匹配:

256
2568
25690