首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算条件的jsqlparser解析器

计算条件的jsqlparser解析器
EN

Stack Overflow用户
提问于 2017-07-26 02:34:27
回答 1查看 610关注 0票数 1

以下字符串:

代码语言:javascript
复制
x=92 and y=29

生成一个有效的输出:x=92 AND y=29,它在CCJSqlParserUtil.parseCondExpression中工作得很好,但是它不应该为下面的情况抛出异常吗?

代码语言:javascript
复制
x=92 lasd y=29

但是输出是公正的:x=92

此外,我应该使用哪个表达式来实现自己的访问者?也就是说,

代码语言:javascript
复制
CCJSqlParser c= new CCJSqlParser(new StringReader(str));
Expression e = c.Expression(); // or SimpleExpression, etc..

这样,当遇到'lasd‘(不是其他的,或,和)时,我就可以抛出一个异常,而不忽略表达式的其余部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-27 13:40:14

最近,发布了一个JSqlParser (1.2-快照)补丁,以提供所需的行为:

代码语言:javascript
复制
CCJSqlParserUtil.parseExpression(String expression, boolean allowPartialParse)

代码语言:javascript
复制
CCJSqlParserUtil.parseCondExpression(String expression, boolean allowPartialParse)

allowPartialParse设置为false将导致所述的异常

因为即时解释的东西,已经存在的行为仍然是需要的,例如,在文本中提供表达式。(语法着色、上下文帮助.)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45316471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档