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