2011-07-01 29 views
6

我想使用query函数使用选择参数从Android程序中的SQLiteDatabase中获取条目。我使用SQLite的LIKE和%通配符进行了简单模式匹配,取得了成功。现在我想用正则表达式来做更复杂的模式匹配。使用正则表达式查询Android的SQLiteDatabase

根据SQLite website,对于REGEXP操作员来说,它必须是用户定义的。有没有人有任何成功创建使用Android的SQLiteDatabase定义的SQLite函数?或者有没有人发现在数据库中搜索字符串时使用正则表达式的另一种方式?

+0

我想让SQLite在Android中使用用户定义的函数会很棘手,虽然我猜它可能与NDK相关 – antlersoft

回答

1

如上所述here

正则表达式运算符是用于正则表达式()的用户功能的特殊语法。默认情况下没有定义regexp()用户函数,因此使用REGEXP运算符通常会导致错误消息。如果在运行时添加了名为“regexp”的应用程序定义的SQL函数,那么将调用该函数以实现REGEXP运算符。

但是有GLOB比LIKE稍微先进。

+0

GLOB看起来很有希望,我稍后会给出一个。谢谢! – gelakinetic