gpt4 book ai didi

java - 如何在 matches() 中使用正则表达式来查找字母、点和撇号?

转载 作者:行者123 更新时间:2023-12-01 16:57:30 25 4
gpt4 key购买 nike

在下面的代码中,我使用 matches() 方法尝试了许多表达式来检查字符串 str 是否仅包含字母、点或撇号。

但是,它不会为此字符串返回 true,例如 one o'clock。:

String str = "One o'clock.";
System.out.println(str.matches("[^a-zA-Z'. ]"));

最佳答案

您有两个问题:

  1. 您的正则表达式正在使用 negated character class [^...]
  2. 您的正则表达式只能匹配仅包含一个字符的字符串。

因此请使用标准字符类[a-zA-Z'。 ] 并让您的正则表达式匹配字符串中的一个或多个字符,请使用 + quantifier .

System.out.println(str.matches("[a-zA-Z'. ]+"));

关于java - 如何在 matches() 中使用正则表达式来查找字母、点和撇号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30665013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com