C#.net 2005 如何判断用户输入的公式是否正确?
在c#.net2005里,有一用户选择的公式,在ListBox里的样子如下:-------
( |
A100 |
+ |
A120 |
+ |
B140 |
) |
* |
A130 |
/ |
23 |
--------
由上边ListBox里的内容形成下边公式存放到数据表里
(A100+A120+B140)*A130/23,其中A100、A120、B140等以A、B开头后边有三位数字的都代表一个指标的值,是在计算的时候将其替换成数值;23为常数;另外还有+、-、*、/、(、)运算符;公式是由用户自己输入的,不一定是多少项。也就是说公式里有字符、有运算符号、有括号、有常量;
我的问题是用c#.net2005如何校验用户输入的公式是否正确?是直接根据ListBox里的每一项的排列顺序判断是否符合公式要求,还是判断生成后的表达式是否符合公式要求?哪个写程序更简单些,请各位大侠指教,并给出程序代码,万分感谢!
--------------------编程问答-------------------- 如果你判断ListBox的值呢可以用javascript很容易的检出是否正确,但是由于listbox的Item较多,可能会麻烦点。
如果检查生成的公式则需要用正则表达式来验证,如果你对正则表达式比较熟悉,建议你用这个方法。 --------------------编程问答-------------------- 用正则表达式吧 --------------------编程问答-------------------- 不复杂的话,用正则就可以。
如果很复杂的话,可以用编译原理中知识写个小编译器。 --------------------编程问答-------------------- 正则表达式我用的不是太熟悉,不知道如何写,请各位高手帮忙把代码写出来好吗?多谢了!
补充:.NET技术 , ASP.NET