我需要在Java具有相同的语义“喜欢”操作者的SQL的比较器。 例如:如何实现像“喜欢”在java中操作一个SQL?
myComparator.like("digital","%ital%");
myComparator.like("digital","%gi?a%");
myComparator.like("digital","digi%");
应该评估为真,并
myComparator.like("digital","%cam%");
myComparator.like("digital","tal%");
应该评估为false。任何想法如何实现这样一个比较器或没有人知道具有相同语义的实现?这可以使用正则表达式来完成吗?
是的,谢谢!但是,如果这个单词不像“%dig%”那么简单,而且字符串需要一些保存?有什么已经存在的吗?关于 '?' ? – Chris 2009-05-22 15:21:56
我编辑了问号运算符的答案。尽管如此,我对你的评论的其余部分有点困惑。你是说这个字符串以sql语法来到你身上,并且你想按照原样评估它吗?如果是这种情况,我认为你需要手动替换为sql语法。 – Bob 2009-05-22 15:24:36
如果用作搜索模式的字符串包含像'('或')'这样的分组字符,该怎么办?其他角色如何逃脱? – Chris 2009-05-22 15:25:27