正则表达式匹配密码(字符串)
验证字符串至少由4种字符组成且长度大于等于8。
实例如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "Abc12345#";
Pattern pattern = Pattern.compile("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-])[A-Za-z0-9#?!@$%^&*-]{8,}$");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("字符串符合要求");
} else {
System.out.println("字符串不符合要求");
}
}
}
在上面的代码中,我们使用了正则表达式^(?=.?[A-Z])(?=.?[a-z])(?=.?[0-9])(?=.?[#?!@%^&*-])[A-Za-z0-9#?!@%^&*-]{8,}$来验证字符串。
这个正则表达式的含义是:
- ^表示字符串的开头。
- (?=.*?[A-Z])表示必须包含至少一个大写字母。
- (?=.*?[a-z])表示必须包含至少一个小写字母。
- (?=.*?[0-9])表示必须包含至少一个数字。
- (?=.?[#?!@$%^&-])表示必须包含至少一个特殊字符。
- [A-Za-z0-9#?!@$%^&*-]{8,}表示可以包含大小写字母、数字和特殊字符,长度至少为8。
- $表示字符串的结尾。
如果字符串符合要求,那么matcher.matches()方法将返回true,否则返回false。
Java正则验证:复杂密码检查,
该代码示例展示了一个Java程序,使用正则表达式检查密码是否符合特定规则:至少8个字符,包含大写字母、小写字母、数字和至少一个特殊字符。Matcher和Pattern类用于执行匹配操作,如果密码符合条件,matches()方法返回true,否则返回false。
805

被折叠的 条评论
为什么被折叠?



