[发明专利]一种逻辑表达式的解析方法及装置有效
申请号: | 201510701410.3 | 申请日: | 2015-10-26 |
公开(公告)号: | CN105404497B | 公开(公告)日: | 2018-05-25 |
发明(设计)人: | 刘旭 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | G06F9/305 | 分类号: | G06F9/305 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 胡彬;孟金喆 |
地址: | 100044 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 解析 逻辑表达式 运算单元 复杂逻辑 最终结果 正确率 | ||
1.一种逻辑表达式的解析方法,其特征在于,包括:
获取待解析的逻辑表达式;
利用正则表达法拆分所述待解析的逻辑表达式以获得至少一个运算单元,其中,正则表达法使用单个字符串来描述、匹配一系列符合预设句法规则的字符串;
针对所述至少一个运算单元进行运算以得到每个运算单元的运算值;
将每个运算单元的运算值代入待解析的逻辑表达式;及
利用javax.script.ScriptEngineManager技术,针对代入运算值后的待解析的逻辑表达式进行运算以获取最终结果。
2.根据权利要求1所述的方法,其特征在于,在拆分所述待解析的逻辑表达式以获得至少一个运算单元之前,还包括:
判断待解析的逻辑表达式是否为混合表达式;
当判断待解析的逻辑表达式为混合表达式,触发执行所述拆分待解析的逻辑表达式以获取至少一个运算单元;
当判断待解析的逻辑表达式为一般表达式,直接运算该待解析的逻辑表达式的以获取最终结果。
3.根据权利要求2所述的方法,其特征在于,所述混合表达式是指该逻辑表达式由算术运算符、字符运算符、关系运算符、逻辑运算符及赋值运算符组成的逻辑运算式。
4.一种逻辑表达式的解析装置,其特征在于,包括:
获取模块,用于获取待解析的逻辑表达式;
拆分模块,用于利用正则表达法拆分所述待解析的逻辑表达式以获得至少一个运算单元,其中,正则表达法使用单个字符串来描述、匹配一系列符合预设句法规则的字符串;
值运算模块,用于针对所述至少一个运算单元进行运算以得到每个运算单元的运算值;
代入模块,用于将每个运算单元的运算值代入待解析的逻辑表达式;
结果运算模块,用于利用javax.script.ScriptEngineManager技术,针对代入运算值后的待解析的逻辑表达式进行运算以获取最终结果。
5.根据权利要求4所述的装置,其特征在于,还包括:
判断模块,用于在拆分所述待解析的逻辑表达式以获得至少一个运算单元之前,判断待解析的逻辑表达式是否为混合表达式;当判断待解析的逻辑表达式为混合表达式,触发所述拆分模块执行对应操作;当判断待解析的逻辑表达式为一般表达式,直接运算该待解析的逻辑表达式的以获取最终结果。
6.根据权利要求5所述的装置,其特征在于,所述混合表达式是指该逻辑表达式由算术运算符、字符运算符、关系运算符、逻辑运算符及赋值运算符组成的逻辑运算式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510701410.3/1.html,转载请声明来源钻瓜专利网。