BaseUtil.empty(value).matches("^-?(0|([1-9][0-9]*))(\\.[\\d]+)?$")
时间: 2025-06-29 08:24:54 浏览: 11
### 使用 `BaseUtil.empty` 和正则表达式匹配数字字符串
为了验证 `BaseUtil.empty` 方法与正则表达式匹配数字字符串的用法,可以创建一个辅助工具类来处理这些操作。假设 `BaseUtil.empty` 是用于判断给定对象是否为空的方法。
下面是一个完整的 Java 类示例,展示了如何结合使用 `BaseUtil.empty` 和正则表达式来检测输入字符串是否仅包含数字:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumericStringValidator {
private static final String NUMERIC_PATTERN = "^[0-9]+$";
/**
* Checks if the provided object is null or empty.
*
* @param obj Object to check
* @return true if the object is considered empty, false otherwise
*/
public static boolean isEmpty(Object obj) {
return obj == null || (obj instanceof CharSequence && ((CharSequence) obj).length() == 0);
}
/**
* Validates whether a given string contains only digits using regex.
*
* @param str Input string to validate
* @return True when input matches digit-only pattern; False otherwise
*/
public static boolean isValidNumericString(String str) {
if (isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile(NUMERIC_PATTERN);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
public static void main(String[] args) {
// Test cases
System.out.println(isValidNumericString("")); // Output: false
System.out.println(isValidNumericString(null)); // Output: false
System.out.println(isValidNumericString("123456789"));// Output: true
System.out.println(isValidNumericString("abc123")); // Output: false
}
}
```
上述代码定义了一个名为 `isValidNumericString` 的方法,该方法接收一个字符串参数并返回布尔值表示此字符串是否完全由数字组成[^1]。如果传入的对象为空或长度为零,则直接返回 `false`;否则继续通过编译后的正则表达式模式进行匹配测试[^2]。
阅读全文
相关推荐


