java 用正则表达式判断字符串是否是数字
时间: 2023-09-01 19:08:18 浏览: 142
可以使用正则表达式来判断一个字符串是否为数字,Java中常见的正则表达式为"\\d+",表示匹配一个或多个数字。
下面是一个示例代码:
```java
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
return str.matches("\\d+");
}
```
其中,参数str为需要判断的字符串。如果该字符串为空或长度为0,则返回false。使用String的matches()方法,传入正则表达式"\\d+",如果字符串匹配成功则返回true,否则返回false。
相关问题
java正则表达式判断字符串是不是时间格式
可以使用Java正则表达式来判断字符串是否符合时间格式。以下是一个示例代码:
```
public static boolean checkIsTimeFormat(String str){
if(str == null || "".equals(str)){
return false;
}
String regex = "^([01]\\d|2[0-3]):([0-5]\\d)$";
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(str);
return matcher.matches();
}
```
该方法使用正则表达式来匹配符合时间格式的字符串,其中正则表达式`^([01]\\d|2[0-3]):([0-5]\\d)$`表示以0或1开头的两位数字,或者以2开头的0到3之间的数字,后面跟着一个冒号,再后面是0到5之间的数字,共计5个字符。如果字符串符合该正则表达式,则返回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("不符合要求");
}
```
输出结果为:
```
不符合要求
```
阅读全文