如何验证数学表达式合法,输入一个字符串,确保他是个正确的 加减法字符串只能输入 加减法和空格 数字然后拆分字符串,进行算数,如何验证该字符串有效呢

解决方案 »

  1.   

    使用正则表达式就可以了import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test { /**
     * @param args
     */
    public static void main(String[] args) {


    String value = " 111 + 222 ";
    if (validateValue(value)) {
    System.out.println("is validate");
    } else {
    System.out.println("is not validate");
    }

    value = " aa + bb ";
    if (validateValue(value)) {
    System.out.println("is validate");
    } else {
    System.out.println("is not validate");
    }

    } private static boolean validateValue(String value) {

    String regex = "^[ ]*\\d+[ ]*[-+]{1}[ ]*\\d+[ ]*$";
    Pattern patern = Pattern.compile(regex);
    Matcher m = patern.matcher(value);
    boolean b = m.matches();
    return b;
    }}
      

  2.   

     String regex = "^[ ]*[+-]?[ ]*\\d+[ ]*([+-][ ]*\\d+[ ]*)+$";