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方法检查字符串是否相等,而不检查匹配的正则表达式。

只需替换equalsmatches。您还应该卸下外部方括号。

以上是 Java将字符串与正则表达式进行比较-While循环 的全部内容, 来源链接: utcz.com/qa/399437.html

回到顶部