各位大虾好:(急求)
现在小弟有个问题是关于:
C#解决表达式问题的,具体的描述如下
用户可以在文本(不妨记做Rules)中输入一条规则,例如:“A5+6>b3”表示的意思是判断第A行(也就是第一行和excel的编辑相似,行数用A、B、...Z、AA、...一直到128行)第5列(1、2、...、128)的值加上6大于第b行第三列的值(字母不区分大小写)。数组数据都存储在文本文件(不妨记做Datas),如果数据符合上述规则,即通过不做任何提示,如果不符合规则,则在控制台提示错误,(只需要显示该不符合的规则即可,例如,不符合上述规则只需要显示,“错误。A5+6>b3”即可)
注意:1、规则是用户自己输入的,同时可以输入多条规则进行判断
2、规则的种类支持,四则运算,比如A5*(B3+C2+1)<(A6+10)/3;A[1..5]+3>B[2...6]表示的某些列需要满足的条件等等
在此谢谢了。
需要的是源代码,可以发送到,邮箱:[email protected],QQ,QQ:549174129
万分感谢!!!!

解决方案 »

  1.   

    如何使用excel宏来做呀?我要的是C#代码
      

  2.   

    Regex类.. Msdn 哈.
       提示就能提示这么多了...
       希望给加两分, 嘎嘎```
      

  3.   

       有个IsMatch 方法.. bool 类型的.
        if(!Regex.IsMatch(str,@"^\d+$"))
           return;
     
          str是你输入的字符串..
          @"" 是你要转义的东西..(判断格式的样式..)
          这里给出来的判断是否整数. 
         
          期于的你就去找对应的符号 代替把.
      

  4.   

    要考虑的情况:
    1,数据源,将文本数据转化成DataTable。
    2,表达式的解析:
       1),每一个表达式用";"分隔开.
       2),表达式比较运算符有六种: "<",">","=","=<",">=","<>" 或者不等于 "!=" 。
       3),比较运算符号两边的计算表达式,可能是:
                    (1)表格中的一个的位置的值(如:A5)。
                      (2)数值(如:3)。
                      (3)表格中的一系列的位置的值(如:A[1..5]),数组。
                      (4)值之间,存在各种可能的运算符的识别(+, -, *, /)。
    3,结果比较。
    有空帮写代码。