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

字符串至少包含一位数字

艾鹭洋
2023-03-14
问题内容

我正在尝试查看字符串是否至少包含数字或小写或大写。

我写了这样的东西:

      int combinations = 0;
      string pass = "!!!AAabas1";

      if (pass.matches("[0-9]")) {
          combinations = combinations + 10;
      }

      if (pass.matches("[a-z]")) {
          combinations =combinations + 26;
      }

      if (pass.matches("[A-Z]")) {
          combinations =combinations + 26;
      }

但是我不明白为什么我不能使组合达到36。它们一直保持为0。我在做什么错?


问题答案:

您可以改用Pattern,我认为“ matches”方法会查找整个字符串以匹配正则表达式。

试试下面的代码:

    int combinations = 0;
    String pass = "!!AAabas1";
    if (Pattern.compile("[0-9]").matcher(pass).find()) {
        combinations = combinations + 10;
    }

    if (Pattern.compile("[a-z]").matcher(pass).find()) {
        combinations = combinations + 26;
    }

    if (Pattern.compile("[A-Z]").matcher(pass).find()) {
        combinations = combinations + 26;
    }


 类似资料: