我正在尝试以下部分无济于事:
public class test {
public static void main(String args[] ){
String password = "s8bgBQYPmUaNjkToXCJLAwAA";
System.out.println( Pattern.matches("[0-9]", password ));
}
我希望它能工作,因为我只是在寻找任何数字的匹配项来满足正则表达式的要求,但我的输出总是返回错误。对于我可能遗漏的内容或可能出错的任何帮助,我们将不胜感激。
最佳答案
您正在检查整个字符串是否由一位数字组成。你真正的意思是:
System.out.println( Pattern.matches(".*[0-9].*", password ));
在开头和结尾添加 .*
可以匹配任意数量的其他字符(.
表示“任何字符”,*
意思是“任意次数”)。
关于Java 正则表达式匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2211788/