java 用正则表达式判断字符串是否是数字
时间: 2023-09-01 22:08:18 浏览: 51
可以使用正则表达式来判断一个字符串是否为数字,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
String str = "hello world 123";
if (str.matches(".*\\d+.*")) {
System.out.println("包含数字");
} else {
System.out.println("不包含数字");
}
```
其中,`matches()` 方法用于判断字符串是否匹配正则表达式,`\\d+` 表示匹配一个或多个数字,`.*` 表示匹配任意字符任意多次。如果字符串中包含数字,则返回 `true`,否则返回 `false`。
java利用正则表达式判断字符串是否合理
可以使用Java中的正则表达式库来判断字符串是否合理。以下是一个示例代码:
```java
import java.util.regex.Pattern;
public class StringValidator {
public static boolean isValid(String input) {
// 定义正则表达式
String regex = "^[a-zA-Z0-9]+$";
// 利用Pattern编译正则表达式
Pattern pattern = Pattern.compile(regex);
// 匹配输入字符串
return pattern.matcher(input).matches();
}
public static void main(String[] args) {
String input1 = "abc123";
String input2 = "abc_123";
System.out.println(isValid(input1)); // true
System.out.println(isValid(input2)); // false
}
}
```
上述代码中,使用了正则表达式`"^[a-zA-Z0-9]+$"`,表示字符串只能由英文字母和数字组成。`Pattern.compile(regex)`将正则表达式编译成一个Pattern对象,`pattern.matcher(input).matches()`则用来匹配输入的字符串是否符合该正则表达式。最后,测试了两个输入字符串,输出结果分别为true和false。