Java 正则表达式 : 4 Letters followed by 2 Integers

标签 java regex string

这里是正则表达式初学者。

已经访问过以下内容,没有人回答我的问题:

1 , 2 , 3 , 4 , 5 , 6

我有一个简单的正则表达式来检查一个字符串是否包含 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/

相关文章:

Netbeans 中的 Java 编码

java - 实现返回类型为 Class<T1<T2>> 的抽象方法

javascript - 正则表达式替换 : match variable number next to integer within substitute string

javascript - URL 正则表达式改进以允许本地主机 URL

java - 在调车场保留括号

java - JBoss 6 中的异步处理 ("Comet")

java - 无法读取阿拉伯文本文件的第一个单词

c# - 正则表达式非贪婪匹配

java - 将字符串分解为字符串列表的简单方法

python - Pandas :Dataframe.replace() 与正则表达式