说明:
需要支持用户手动输入区间的表达式
中括号[ ]表示大于/小于等于
小括号( )表示大于/小于
如 [18,60) 表示大于等于18小于60
另外一种就是单个区间 [18]表示大于等于18 (18)表示大于18
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 数字区间表达式工具类
* @author ppp
* @date 2024/6/25
*/
public class NumberRangeCheckUtil {
/**
* 区间表达式是否合规
* @param expression 如 [18,60) 表示大于等于18小于60
* 中括号[ ]表示大于/小于等于
* 小括号( )表示大于/小于
* @return 是否正确
*/
public static boolean isRangeExpressionValid(String expression) {
// 使用正则表达式匹配给定的表达式
String regex = "\\[\\d+,\\d+\\]|\\(\\d+,\\d+\\]|\\[\\d+,\\d+\\)|\\(\\d+,\\d+\\)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(expression);
return matcher.matches();
}
/**
* 表达式是否合规
* @param expression 如 [18] 表示大于等于 (18)表示大于18
* 中括号表示大于等于
* 小括号表示大于
* @return 是否正确
*/
public static boolean isExpressionValid(String expression

最低0.47元/天 解锁文章
218

被折叠的 条评论
为什么被折叠?



