用java验证模式
我必须用java验证以下模式用java验证模式,java,validation,tokenize,Java,Validation,Tokenize,我必须用java验证以下模式 X.X.X 其中,X可以是任何有效的整数,但X.X.X将以字符串的形式出现 目前,我正在标记字符串以检查值和级别数 有没有更好的方法呢?你可以用a regex“[\\d]+\.[\\d]+\.[\\d]+”应该可以工作 \\d-表示数字 “+”表示最后一个元素中的一个或多个 \\。是一个点 代码捕捉: Matcher matcher = Pattern.compile("[\\d]+\\.[\\d]+\\.[\\d]+").matcher(""); match
X.X.X
其中,X
可以是任何有效的整数,但X.X.X
将以字符串的形式出现
目前,我正在标记字符串以检查值和级别数
有没有更好的方法呢?你可以用a
regex“[\\d]+\.[\\d]+\.[\\d]+”
应该可以工作
-表示数字\\d
- “+”表示最后一个元素中的一个或多个
是一个点\\。
Matcher matcher = Pattern.compile("[\\d]+\\.[\\d]+\\.[\\d]+").matcher("");
matcher.reset("11.1234.33333");
System.out.println(matcher.matches());
matcher.reset("1.abcd.3");
System.out.println(matcher.matches());
将如预期的那样产生:
true
false
如果您的解决方案可行,并且您和您的团队可以理解,您为什么要更改它
您可以使用正则表达式,但它从根本上讲并不更好。坚持使用对您来说有效且简单的方法。是的,正则表达式。类似于:
“\\d+\.\\d+\.\\d+”
为什么括号中有\\d
?“这是不必要的。”Antoh习惯,我个人觉得它更易读——但这是个人喜好,仅此而已。请注意数字并不总是整数;-)