Java 包含大小写字母数字 长度8-16位 正则表达式
时间: 2023-12-27 07:04:33 浏览: 85
Java 正则表达式
Java中的正则表达式,用于匹配符合一定模式的字符串,可以使用`Pattern`和`Matcher`类实现。
以下是一个匹配长度为8-16位,包含大小写字母和数字的正则表达式:
```java
String regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,16}$";
```
解释一下这个正则表达式:
- `^`:以字符串的开始为匹配的起点。
- `(?=.*[a-z])`:匹配至少包含一个小写字母。
- `(?=.*[A-Z])`:匹配至少包含一个大写字母。
- `(?=.*\d)`:匹配至少包含一个数字。
- `[a-zA-Z\d]{8,16}`:匹配包含大小写字母和数字的字符串,长度为8-16个字符。
- `$`:以字符串的结尾为匹配的终点。
例如,如果要判断一个字符串是否符合这个正则表达式,可以使用以下代码:
```java
String str = "Abc12345";
Pattern pattern = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,16}$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
System.out.println("字符串符合要求");
} else {
System.out.println("字符串不符合要求");
}
```
阅读全文