爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
C#教程
请问一个表达式解析的方法
请问一个表达式解析的方法
日期:2014-05-18 浏览次数:21305 次
请教一个表达式解析的方法
有类似于这样的表达式
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.表达式树
上一篇:Ftp.dll操作上传FTP文件
下一篇: GetUsersMSGDataGrid_ItemDataBound方法执行有关问题,没有显示想要的文本
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
C#显示上一年日期的代码
在局域网中,如果一个客户端更新了服务器上数据库表m中的记录后,其它客户端怎么及时知道表m被更改了?服务器能自动及时发出通知信息让客户端知道吗
[]C# winform 实现滚屏显示 类似股市行情
visual c#怎么打包成安装包。可以qq教一上吗
obj\Debug\Test.exe”复制到“bin\Debug\Test.exe”。文件“bin\Debug\Test.exe”正由另一进程使用,因此该进程无法访问该文件。解决思路
安装部署程序的时候怎么自动先运行.netFramework3.5
c#学习路线解决方案
请教怎么把DeflateStream中的资料读出并转为byte[]
C#小程序有关问题?
推荐阅读
更多>
什么时候用泛型?泛型有什么好处?解决思路
C#数据库取值有关问题
这样的动态加载控制Lable怎么弄
网站制造
VS2008 添加控件有关问题,会的进来看看
运行后控件的可调整解决办法
winform中怎么使用threadpool
交错数组有关问题
DataGridView列题目中可以添加按钮吗
帮个忙看这个正则表达式如何写
数据库模糊搜索算法解决方法
有一种职务叫架沟尸
出错 object reference not set to an instance of an object,是什么原因
妖!FileStream绝对路径相对路径有关问题
Label 属性设立拖大拖小
DllImport,LPCWSTR类型如何定义
C# 如何得到Click事件的委托
Framework3.0安装完后,为什么VS2005里的情报还是显示2.0,该如何处理
用C++改的最短路径算法解决方案
做过自动登录的进~整了一天都没整出来。解决办法