【发布时间】:2015-07-24 14:12:57
【问题描述】:
我需要开发一个 Java 应用程序,它将根据用户定义的条件/过滤器扫描/搜索给定的字符串并返回 true 或 false。用户标准/过滤器将是
关键字 正则表达式 并且用户可以定义多个 AND & OR 过滤器,也可以定义 NOT。下面是一些例子:
Contains "Test" AND Contains "Java" OR Contains "Stackoverflow"
Not Contains "Warning"
Contains "Regex here"
由于它是单列并且我在后端有 Oracle 数据库,因此执行此操作的一种方法是允许用户在普通 SQL where 子句语法中定义条件,而不是在应用程序中执行搜索,我可以将其传递给数据库如下:
SELECT col1 from (select 'String to search Java Test' as col1 from dual) DUMMY where col1 like 'String%' and col1 like '%Java%';
不确定这是否是最好的方法,或者是否有任何好的 NLP 库可以做到这一点。希望有任何反馈意见
【问题讨论】: