怎么用正则表达式校核textbox控件输入数学式的正确性

如何用正则表达式校核textbox控件输入数学式的正确性

学习了n天的正则表达式,到现在还不能灵活用。
现在发觉正则表达式可以用于格式固定的正则表达式。

如H+R-SQR(R^2-(r*cos(alfa))^2)
例如:H=200 : R=500 r=54 alfa = 3.1415926
将数据带入到公式中后,其表达式为 200 + 500- sqr(500^2-(50*cos(3.1415926))^2)


此帖的目标定位是,判断在textbox控件,校核输入公式数据是否正确性


oEval = Application.Evaluate(Str)→计算”200 + 500- sqr(500^2-(50*cos(3.1415926))^2)


希望通过公式确定,输入数据为变量的方法,进一步消化理解正则表达式的用法。

------解决方案--------------------
这个比较复杂,个人觉得应该把所有的数学运算符都考虑进去,然后就是判断括号是否成对出现就ok了。写起来确实比较费劲
------解决方案--------------------
提醒:在语法检查问题域,正则表达式不是万能的;有限状态自动机是万能的。
参考《编译原理》词法分析 有限状态自动机
------解决方案--------------------

正则表达式不能描述均衡和嵌套的结构,比如带括号的数学表达式
------解决方案--------------------
那就把相关变量的地方用\d 啊[\.\d+]之类的代替啊