首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问一个表达式解析的方法

2012-05-29 
请教一个表达式解析的方法有类似于这样的表达式string expression[a]100 | [b]OK & [f]1 & [exp]

请教一个表达式解析的方法
有类似于这样的表达式
string expression="[a]>=100 | [b]='OK' & [f]=1 & [exp]<100";

有类
class test
{
public LogiOper; //存储逻辑运算符| &
public LeftExp; //存储运算符左边的表达式a,b,f,exp
public Operator; //存储运算符 >=, =,<,<=,>......
public RightExp; //存储运算符右边的表达式100,"OK",1,100
}

List<test> lst;
现在想将expression描述的表达式,存储到lst里.应该怎么写代码啊?

[解决办法]
下载这个正则表达式再测试下看看是不是你要的结果喔:
http://deerchao.net/tools/regex_tester/index.htm

正则表达式为:
(?is)(\[(?<LeftExp>[^\[\]]*)\](?<Operator>[>=<]{1,2})(?<RightExp>[^[&|]*)(?<LogiOper>[&|]?))
[解决办法]

探讨

的确,如老p说滴,正规计算机专业都会学的

1.词法分析
2.编译原理

这样把如果你不想去看最基础的东西。那么起码你先把这几个东西看看
1.BNF范式,EBNF范式
2.Antlr,yacc,Irony
3.表达式树

热点排行