正则表达式是正确的,但x1
为true
,而true
仅在x
为\\d
之前必须为\\d
,但不需要'
之前的number
。我需要小字符串'radius
或width 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}}
答案 0 :(得分:1)
我认为这应该有效:
"^(\\d{1,4}(x\\d{1,4}){0,2})?('\\d{1,4})?$"
表达式接受一个形式为AxBxC(带有1,2或3个坐标)的(可选)字符串,后跟一个形式为“D”的可选字符串。
由于两个字符串都是可选的,因此您还应检查该字符串是否为空。