正则表达式判断计算式是否符合格式

public static boolean isTrue(String str){
        int flag=0;
        if (str.matches("(\\(*\\d+[+/*-])+((\\(*(\\d+[+/*-])*\\d+\\)*)[+/*-])*\\d+\\)*")) {
            for (int i = 0; i < str.length(); i++) {
                char c = str.charAt(i);
                if (c == '(') {
                    flag++;
                }
                if (c == ')') {
                    flag--;
                }
            }
            if (flag == 0) {
                return true;
            }
        }
            System.out.println("式子格式错误");
            return false;
    }
posted @ 2022-03-23 01:46  -QAQ-  阅读(138)  评论(0)    收藏  举报