Java正则表达式判断字符串是否为一位数字或两位数字
时间: 2023-10-18 13:24:17 浏览: 43
可以使用正则表达式 `^\d{1,2}$` 来判断字符串是否为一位数字或两位数字。
其中,`^` 表示字符串开始,`\d` 表示任意一个数字字符,`{1,2}` 表示该数字字符出现一次或两次(即一位数字或两位数字),`$` 表示字符串结束。
可以使用 Java 中的 `matches` 方法来判断一个字符串是否匹配该正则表达式,示例代码如下:
```
String str = "5";
if (str.matches("^\\d{1,2}$")) {
System.out.println("是一位或两位数字");
} else {
System.out.println("不是一位或两位数字");
}
```
相关问题
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 正则表达式 判断是否是整数或者金额格式
当判断字符串是否符合整数或金额格式时,可以使用正则表达式来实现。以下是 Java 示例代码:
```java
import java.util.regex.Pattern;
public class RegexTest {
// 判断是否是整数格式
public static boolean isInteger(String s) {
String pattern = "^-?\\d+$"; // 整数的正则表达式,包含正负整数
return Pattern.matches(pattern, s);
}
// 判断是否是金额格式
public static boolean isMoney(String s) {
String pattern = "^-?\\d+(\\.\\d{1,2})?$"; // 金额的正则表达式,包含正负数和小数点后最多两位的数字
return Pattern.matches(pattern, s);
}
public static void main(String[] args) {
System.out.println(isInteger("-123")); // true
System.out.println(isMoney("-123.45")); // true
}
}
```
在代码中,使用 `Pattern.matches()` 方法判断字符串是否符合正则表达式的格式,返回一个布尔值。在 `isInteger()` 方法中,使用 `^` 表示匹配字符串的开头,`$` 表示匹配字符串的结尾,`-?` 表示可选负号,`\\d+` 表示匹配一或多个数字。在 `isMoney()` 方法中,`\\.\\d{1,2}` 表示匹配小数点后 1 或 2 位数字。注意 Java 中需要使用两个反斜杠来转义正则表达式的特殊字符。