我想验证一个字符串,它应该遵循模式XXYYZZ
,其中X、Y、Z可以是任何字母a-z、A-Z或0-9。
有效字符串的示例:
RRFFKK
BB7733
WWDDMM
5599AA
无效:
555677
AABBCD
目前我正在使用正则表达式(?<=(.))(?!\\1)
来分割字符串,并在迭代生成的数组时检查每个子字符串是否具有长度为2。
String str = "AABBEE";
boolean isValid = checkPattern(str);
public static boolean checkPattern(String str) {
String splited = str.split("(?<=(.))(?!\\1)");
for (String s : splited) {
if (s.length() != 2) {
return false;
}
}
return true;
}
我想用String#matches
替换我的检查方式,并且摆脱循环,但是我想不出一个有效的正则表达式。能否有人帮我在下面的片段中放入someRegex
?
public static boolean checkPattern(String str) {
return str.matches(someRegex);
}
X
、Y
或Z
可以相同吗?BBAABB
是否有效? - Wiktor Stribiżew