当前位置: 代码迷 >> Java Web开发 >> ‘数学公式解析器’您知多少
  详细解决方案

‘数学公式解析器’您知多少

热度:6309   发布时间:2013-02-25 21:10:55.0
‘数学公式解析器’你知多少?
最近在项目中需要解析用户输入的数学公式,主要功能如下:
1、如果输入:(X+Y)/Z 需要解析出三个算子:X,Y,Z
2、如果输入:X1 + X2 + Y1 需要解析出三个算子:X1, X2 , Y1
3、如果输入:X1*6 + Y1 或 X1*6 + Y1 + 12需要解析出两个算子:X1,Y1
总而言之就是需要解析出变量,对于数字不用解析。

------解决方案--------------------------------------------------------
Java code
    public static void main(String[] args) {        String s = "(A1 + A2 + (X*90 + Y + 100)*N1)*100+A1";        Matcher m = Pattern.compile("[a-zA-Z]+\\d*").matcher(s);        Set<String> set = new HashSet<String>();        while(m.find()){            set.add(m.group());        }        for(String str : set){            System.out.println(str);        }    }