Java将字符串与正则表达式进行比较-While循环
我希望用户输入一个字符串,如果该字符串与我的regex表达式不匹配,则希望输出一条消息,然后用户再次输入一个值。
问题是,即使字符串与正则表达式匹配,它也将其视为不匹配。
我的正则表达式:这应该等于- 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();
}
回答:
这些equals
方法检查字符串是否相等,而不检查匹配的正则表达式。
只需替换equals
为matches
。您还应该卸下外部方括号。
以上是 Java将字符串与正则表达式进行比较-While循环 的全部内容, 来源链接: utcz.com/qa/399437.html