我希望用户输入一个字符串,如果该字符串与我的正则表达式不匹配,则输出一条消息并要求用户再次输入值。
问题是,即使字符串与正则表达式匹配,它也会被视为不匹配。
我的正则表达式: 应该等于-
问题是,即使字符串与正则表达式匹配,它也会被视为不匹配。
我的正则表达式: 应该等于-
Name, Name
[[A-Z][a-zA-Z]*,\s[A-Z][a-zA-Z]*]
我的while
循环: System.out.println("Enter the student's name in the following format - surname, forename: "); studentName = input.next();
while (!studentName.equals("[[A-Z][a-zA-Z]*,\\s[A-Z][a-zA-Z]*]")) {
System.out.println("try again");
studentName = input.next();
}
Name, Name
是您输入的两个分开的字符串。尝试在您打印的消息中添加错误的输入。 - phlogratosName, try again Name try again
。我该怎么修复这个问题? - Colin747input
?它属于哪个类?这些值从哪里来? - phlogratosScanner
的 javadoc 表示:Scanner
使用分隔符模式将其输入拆分为标记,该模式默认匹配空格字符。 - phlogratos