数字区间表达式校验工具类

说明:

需要支持用户手动输入区间的表达式
中括号[ ]表示大于/小于等于
小括号( )表示大于/小于
如 [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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值