这里是正则表达式初学者。
已经访问过以下内容,没有人回答我的问题:
我有一个简单的正则表达式来检查一个字符串是否包含 4 个字符后跟 2 个数字。
[A-Za-z]{4}[0-9]{2}
但是,当使用它时,它不匹配。这是我使用的方法以及输入和输出的示例:
在 JPasswordField 中输入
Mypass85
输出
false
方法
public static boolean checkPass(char[] ca){
String s = new String(ca);
System.out.println(s); // Prints : Mypass85
p = Pattern.compile("[A-Za-z]{4}[0-9]{2}");
return p.matcher(s).matches();
}
最佳答案
Matcher#matches
尝试匹配完整输入。使用 Matcher#find
代替:
public static boolean checkPass(String s){
System.out.println(s); // Prints : Mypass85
p = Pattern.compile("[A-Za-z]{4}[0-9]{2}");
return p.matcher(s).find();
}
关于Java 正则表达式 : 4 Letters followed by 2 Integers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33615205/