当前位置: 首页 > 面试题库 >

Java将字符串与正则表达式进行比较-While循环

屠华辉
2023-03-14
问题内容

我希望用户输入一个字符串,如果该字符串与我的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。您还应该卸下外部方括号。



 类似资料:
  • 字符串可以说是程序设计中最为重要的数据类型之一。几乎每种高级编程语言都有它的一席之地,而且能有效的使用它也是开发者编写实用程序的基本准则。作为重要的扩展,正则表达式赋予开发者操作字符串的额外能力。ECMAScript 6 的缔造者们将这些事实牢记于心,改进了字符串和正则表达式,并添加了长久以来缺失的某些功能。本章会讲解它们的变化之处。 译者注: gitbook 无法正常解析 $$ 字符,所以在模板

  • 如何比较两个列表是否相等验证数据来自Excel工作表。我需要验证两个列表是否相同,并且列表中没有附加元素或缺少元素。我不需要对列表进行排序。打印输出CAGID Excel data=CAGID Web列表

  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 问题内容: 我有一个字符串变量,有可能值,和。 我想使用if语句将所有这些值进行比较(大小写相等),例如: 有没有一种方法可以避免使用多个OR(||)运算符并在一个表达式中比较值?例如,像这样: 问题答案: 我找到了更好的解决方案。这可以通过RegEx实现: 对于不区分大小写的匹配:

  • 我有一个字符串变量,其中可能有、和。

  • 问题内容: 我有一个输入字符串。 我正在考虑如何有效地将此字符串与多个正则表达式匹配。 我想针对这些正则表达式模式进行匹配,如果其中至少一种匹配则返回: 我不确定如何一次匹配多种模式。有人可以告诉我我们如何有效地做到这一点吗? 问题答案: 如果只有几个正则表达式,并且在编译时都知道它们,那么这就足够了: 如果它们更多,或者它们在运行时加载,则使用模式列表: