我试图查看字符串是否至少包含一个数字或小写或大写.
我写过这样的话:
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; }