字符串至少包含一个数字

idi*_*ous 6 java regex

我试图查看字符串是否至少包含一个数字或小写或大写.

我写过这样的话:

      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;
      }
Run Code Online (Sandbox Code Playgroud)

但是我不明白为什么我不能得到组合去36.他们只是保持在0.我做错了什么?

Hrz*_*zio 12

您可以使用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;
    }
Run Code Online (Sandbox Code Playgroud)