java里必须有英文跟数字的正则且长度不超过18
时间: 2023-10-20 09:32:09 浏览: 27
在 Java 中,使用正则表达式需要使用 `java.util.regex` 包下的相关类。以下是一个匹配长度不超过18,且至少包含一个数字和一个英文字母的正则表达式的示例代码:
```java
String input = "abc123"; // 待匹配的字符串
String regex = "^(?=.*[0-9])(?=.*[a-zA-Z])[0-9a-zA-Z]{1,18}$"; // 正则表达式
boolean isMatch = input.matches(regex); // 进行匹配
System.out.println(isMatch); // 输出匹配结果
```
其中,`input` 是待匹配的字符串,`regex` 是上面提到的正则表达式,`isMatch` 是一个布尔值,表示匹配结果。`matches()` 方法是用来进行字符串匹配的,如果匹配成功则返回 `true`,否则返回 `false`。
希望这个示例代码能够帮助您!
相关问题
java 正则表达式判断字符串为数字且长度只能为8或者20位
可以使用如下正则表达式来判断字符串是否为数字且长度为8或20位:
```
^(\\d{8}|\\d{20})$
```
这个正则表达式中,`^` 表示匹配字符串的开头,`$` 表示匹配字符串的结尾,`\\d` 表示匹配数字,`{8}` 和 `{20}` 表示匹配前面的数字字符重复出现8次或20次。`|` 表示或者。
你可以使用 java 中的 `String.matches()` 方法来进行匹配,如下所示:
```java
String str = "12345678";
if (str.matches("^(\\d{8}|\\d{20})$")) {
System.out.println("符合要求");
} else {
System.out.println("不符合要求");
}
```
输出结果为:
```
符合要求
```
再举个例子:
```java
String str = "1234567890";
if (str.matches("^(\\d{8}|\\d{20})$")) {
System.out.println("符合要求");
} else {
System.out.println("不符合要求");
}
```
输出结果为:
```
不符合要求
```
java正则校验密码 长度为8位至少有字母和数字的一种
您可以使用以下的正则表达式进行校验:
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8}$
这个正则表达式要求密码至少包含一个字母和一个数字,且长度为8位。其中,^表示字符串的开头,$表示字符串的结尾,(?=.*[A-Za-z])表示必须包含至少一个字母,(?=.*\d)表示必须包含至少一个数字,[A-Za-z\d]{8}表示由8个字母或数字组成。