用正则表达式完成简单公式的替换计算

时间:2022-04-23
本文章向大家介绍用正则表达式完成简单公式的替换计算,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
//用正则表达式完成替换计算
            //检验
            if(Common.GetMatchStr(this.sumitem,@"w+([+-*/]w+)*").Length!=sumitem.Length)
                return -1; 

            string op=Common.GetMatchStr(sumitem,@"^w+");
            double ret=Cvt(op);

            while(op.Length !=sumitem.Length )    //
            {
                string oper=sumitem.Substring(op.Length,1);
                sumitem=sumitem.Substring(op.Length+1);
                op=Common.GetMatchStr(sumitem,@"^w+");
                double opval=Cvt(op);

                switch(oper)
                {
                    case "+":
                        ret+=opval;
                        break;
                    case "-":
                        ret-=opval;
                        break;
                    case "*":
                        ret*=opval;
                        break;
                    case "/":
                        ret/=opval;
                        break;
                }
            }

暂时不支持运算符的优先级和括号。