社区
C#
帖子详情
如何校验表达式的有效性?
liujiantao
2003-08-19 08:46:11
最近在做表达式的定义和计算,计算有很多方法:
1.codedom,2.vsa,3.sql,4.列计算,5.自己解析,不知道全不全,
但是在表达式定义的时候需要校验用户定义的表达式是否有效,
不知道该用什么方法,请高手指教?
...全文
67
10
打赏
收藏
如何校验表达式的有效性?
最近在做表达式的定义和计算,计算有很多方法: 1.codedom,2.vsa,3.sql,4.列计算,5.自己解析,不知道全不全, 但是在表达式定义的时候需要校验用户定义的表达式是否有效, 不知道该用什么方法,请高手指教?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujiantao
2003-08-21
打赏
举报
回复
谢谢各位的指教,有没有比较通用的办法,进一步明确我的需求:
首先定义表达式公式,保存到数据库里,等用的时候取出公式,对里面的变量赋值然后计算。在用户定义完公式保存到数据库之前需要对公式进行校验,看看是否合法!
Jinniu
2003-08-20
打赏
举报
回复
UP!
xixigongzhu
2003-08-20
打赏
举报
回复
我实习的时候,头要我做的第一件事就是处理表达式。非常头痛,很多细节问题很容易忽视。
xixigongzhu
2003-08-20
打赏
举报
回复
如果你是自己实现的话,用扫描,就是在处理的同时判断输入对不对。
必须先词法分析,就是判断输入是否正确,同时将分析的数据保存。
然后处理保存的数据,得出表达式的值。
一般的都是这样做的。
从速度考虑,用正则表达式是肯定不行的。
robin_xin_xin
2003-08-20
打赏
举报
回复
up
saucer
2003-08-19
打赏
举报
回复
the classic method is to use yacc/lex, see
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=1a00ca30-fb47-41fc-83be-77e0f2185b37
win911
2003-08-19
打赏
举报
回复
对,正则表达式
elite2018
2003-08-19
打赏
举报
回复
可以 使用 正则表达式 亚 , 非常 通用 !
维她奶
2003-08-19
打赏
举报
回复
gz
雪狼1234567
2003-08-19
打赏
举报
回复
如果表达式复杂的话就只好自己解析啦,这是可用用栈来验证
带有正则
表达式
校验
的TextBox
继承自TextBox,仅仅添加了使用正则
表达式
检验数据
有效性
的功能。含源代码及Dll。欢迎批评。
正则
表达式
校验
工具,工具刨析
表达式
结构完美入门
该资源为正则
表达式
的
校验
工具,帮助编辑正则
表达式
的正确性,得以及时修改编辑,工具界面有显示正则
表达式
的结构组成,有效的帮助入门者理解正则
表达式
!
带你学会使用正则
表达式
内容简介: 正则
表达式
,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。计算机科学的一个概念。正则
表达式
使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则
表达式
通常被用来检索、替换那些符合某个模式的文本。 本门课程主要讲解正则
表达式
的引用场景和一些基础用法,让大家对正则
表达式
有一个清晰地认识。 为什么需要掌握正则
表达式
? 正则
表达式
非常灵活、而且功能非常强大,它可以迅速地用极简单的方式达到字符串的复杂控制。而对于刚接触的人来说,正则
表达式
比较晦涩难懂。这门课程可以非常快速的帮助大家理解正则
表达式
,以及掌握如何在实际场景中用到它。课程大纲: 为了让大家快速系统了解正则
表达式
知识,我为您总结了思维导图,帮您梳理学习重点,建议收藏!
MAC地址合法性检测(正则
表达式
,C/C++, JAVA实现)
MAC地址合法性检测(C,C++, JAVA实现)
C# 正则应用之——最全的日期正则
表达式
没有之一
1 概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和
校验
还是用日历控件来实现比较好。 前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了这篇文章,和大家一起讨论交流,如有遗漏或错误的地方,还请大家指正。 日期正则一般是对格式有要求,且数据不是直接由用户输入时使用。因应用场景的不同,写出的正则也不同,复杂程度也自然不同。正则的书写需要根据具体情况具体分析,一个基本原则就是:只写合适的,不写复杂的。 对于日期提取,只要能与非日期区分开,写最简单的正则即可,如 \d{4}-\d{2}-\d{2} 如果可以在源字符串中唯一定位yyyy-MM-dd格式的日期,则可用做提取。 对于验证,如果仅仅是验证字符组成及格式是没有多大意义的,还要加入对规则的
校验
。由于闰年的存在,使得日期的
校验
正则变得比较复杂。 先来考察一下日期的有效范围以及什么是闰年。 2 日期的规则 2.1 日期的有效范围 对于日期的有效范围,不同的应用场景会有所不同。 MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章