java - 使用 RegEx 验证输入是否包含 a-Z 中的多个字符

标签 java regex

我正在尝试使用 RegEx 验证输入是否包含从 a-Z 的多个字符。

它可以包含任意数量的字符、空格,但可以/不可以包含 a-Z 中的一个字母。

如果包含,则不会超过一个。

public class HelloWorld {

  public static void main(String []args){

     String s  = "333444434";//None / Only 1
     //String s  = "A b c";//More than 1
     //String s  = "111 1Aa1 1111";//More than 1
     //String s  = "98X8 8A+----!";//More than 1
     //String s  = "98A88a+----!";//More than 1
     //String s  = "c+->18888882";//None / Only 1
     //String s  = "1c+-**>18888882";//None / Only 1

     if(s.matches("([a-zA-Z]){0,1}")){
        System.out.println("None / Only 1");
     }else{
        System.out.println("More than 1");
     }
  }
}

最佳答案

使用匹配器搜索 [a-zA-Z] 正则表达式并对其进行计数:

Matcher matcher = Pattern.compile("[a-zA-Z]")
                         .matcher(s);
int counter = 0;
while (matcher.find()) {
  counter++;
}
if (counter <= 1) {
  System.out.println("None / Only 1");
} else {
  System.out.println("More than 1");
}

关于java - 使用 RegEx 验证输入是否包含 a-Z 中的多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153355/

相关文章:

java - 匹配右大括号时 Android 中的正则表达式模式错误

regex - 是否有 Activestate 的 Komodo Rx 工具包的免费的、最好是开源的、独立的克隆?

java - 服务器端 Web 应用程序中的页面重定向

java - Netbeans OptionsPanelController 按钮焦点

java - 如何在 Spring-Integration 中将 SOAPAction header 添加到 HTTP 消息中?

regex - 用正则表达式查找替换文件内容

regex - 使用 SED 交换 bash 中的列而不使用循环

javascript - URL 替换为 anchor ,而不是替换现有 anchor

java - 使用 JMS,如何获取特定目标的最大消息大小?

java - 如何使用 native SQL 作为在 Hibernate 中使用 Criteria API 进行的更大查询的片段(where 子句)?