java 正则表达式为数字长度只能为8或者20位
时间: 2024-02-01 13:13:59 浏览: 23
可以使用如下正则表达式:
```
^(\\d{8}|\\d{20})$
```
其中,`^` 表示匹配字符串的开头,`$` 表示匹配字符串的结尾,`\\d` 表示匹配任意数字,`{8}` 和 `{20}` 分别表示匹配前面的数字恰好出现8次或者20次。`|` 表示或者的意思,整个表达式的意思是:匹配字符串只能为8位或者20位数字。
相关问题
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或者20位
可以使用如下正则表达式来匹配数字长度只能为8或者20位的字符串:
```
^(\\d{8}|\\d{20})$
```
其中,`^` 表示匹配开头,`$` 表示匹配结尾,`\\d` 表示匹配数字,`{8}` 表示匹配8个数字,`{20}` 表示匹配20个数字,`|` 表示或的关系。