无法完成正则表达式模式

时间:2013-03-26 09:45:29

标签: java regex

正则表达式是正确的,但x1true,而true仅在x\\d之前必须为\\d,但不需要'之前的number。我需要小字符串'radiuswidth x height x depth ' radius和最大checkField = "x1"; String r = "\\d{0,4}(x\\d{1,4}){0,2}('\\d{1,4})?"; Pattern p = Pattern.compile(r); Matcher m = p.matcher(checkField); String a = String.valueOf(m.matches()); if (m.matches()) { infoBox(checkField, a); } else { errorBox(checkField, a); }

{{1}}

1 个答案:

答案 0 :(得分:1)

我认为这应该有效:

"^(\\d{1,4}(x\\d{1,4}){0,2})?('\\d{1,4})?$"

表达式接受一个形式为AxBxC(带有1,2或3个坐标)的(可选)字符串,后跟一个形式为“D”的可选字符串。

由于两个字符串都是可选的,因此您还应检查该字符串是否为空。