当前位置: 首页 > 知识库问答 >
问题:

为什么这个布尔值在与我的正则表达式匹配时没有改变?[重复]

仲孙夕
2023-03-14

所以我在Eclipse的最新版本中运行它。出于某种原因,我和我的老师都不知道为什么这个布尔值不变

这是代码

String value = null;
boolean matching = false;
String regex = "^[a-zA-Z]$";
Scanner input = new Scanner(System.in);
value = input.next();

if (value.matches(regex))
{
    matching = true;
}
else
{
    System.out.println("Name is incorrect, please try again");
}


System.out.println(matching);
System.out.println(value);

共有1个答案

许远航
2023-03-14

通过指定正则表达式 ^[a-zA-Z]$,您可以匹配单个字母输入(例如。“a”, “d” “F”) ...由于您输入了多字符字符串,因此不匹配

为了匹配长度的字符串

^[a-zA-Z]+$
 类似资料:
  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 我不知道为什么这个正则表达式不匹配。也许你能发现错误。 ficontents: 我想匹配>>>>>>客户端9462<<<<<捕获该号码,以及此后的所有内容,直到另一个客户端号码。所以我的第一个捕获是“9462”,第二个捕获是“Had a program exception;please check the error log”。 它使用JavaScript设置在regex101.com中工作得很好

  • 当我跑的时候 我在Java中得到错误。为什么?这相当于false==false,这是真的。这不是Java特有的,我在其他语言中也得到了相同的结果。这是因为短路评估吗?似乎左右双方仍会/应该进行比较。

  • 我有一根线,比如: 如何匹配每行的最后一个?顺便说一句,这是我试图在Sublime的文本中做到的。这些值不一致,就像我在这里看到的,我有几百行要替换。 我尝试了,但这与相匹配。

  • 我希望在我正在解析的包含代码的文本文件中提取特定变量的值。变量名会改变,它在代码中的位置也会改变,但我知道模式,因此我成功地获得了它的值并将其存储在一个名为myVar的变量中。 要获取值,即myVar和等号后引号之间的字符串,即我考虑使用正则表达式如下: 但是我在编译时得到一个错误: 错误:非法转义字符模式q=Pattern.compile(myVar "\= \"(. *)\"" ); 这与将m

  • 下面是我的输入,我试图使用提取显示的输出。我想删除键名在value(在之后)中匹配的对,如果在分隔的值中有多个,我想保留它们。 预期产出: 如果我有所有字符串,这个问题就可以解决,但是当我在中有值时,这个问题就失败了。使用yq/sed/grep提取与YAML中的正则表达式匹配的键值对 我得到以下错误: 错误:无法替换为!!布尔,只能替换字符串。提示:对于此操作,您通常需要在“=”上使用“|=”键。