我正在尝试创建一个正则表达式,该正则表达式将用于验证包含至少一个大写字母,一个数字且字符串长度应为7的字符串。
^[[A-Z]+[0-9]+]{7}$
:这是我使用的正则表达式,但无法正常工作
答案 0 :(得分:1)
您可以使用模式来实现-^(?=.*\\d)(?=.*[A-Z]).{7}$
。首先检查数字,然后检查字母,然后验证输入的长度。
它使用预读(?=)。
(?=.*\\d)
:这将检查数字
(?=.*[A-Z])
:这将检查所有大写字母
.{7}
:检查输入的长度
public static void main(String[] args) {
String input = "abcAB1C";
Pattern pattern = Pattern.compile("^(?=.*\\d)(?=.*[A-Z]).{7}$");
System.out.println(pattern.matcher(input).find());
}