SQLite和Objective C中的正则表达式

时间:2011-10-17 12:06:30

标签: objective-c sqlite

我有一个类似字典的应用程序,现在我需要一些帮助。

我想在SQLite中尝试查找单词时使用正则表达式,但正则表达式是用户函数,因此SQLite不直接支持它。

这个想法是app应该找到所有用字母创建的单词,例如'a e b i p',它应该返回像babe,abe,pie等字样。

任何帮助都将不胜感激。

所以为了更清楚,我想做一个select语句,返回包含字母a,e,b,i和p的所有单词,但不限于单词长度,这样我收到的单词就像即使在最后两个字母中没有字母bi,也可以作为死和馅饼。

很抱歉由于没有妥善制定的问题而造成的不便。

3 个答案:

答案 0 :(得分:3)

您是否尝试过使用GLOB

SELECT * FROM tablename WHERE wordname GLOB "*[aebip]*"

答案 1 :(得分:1)

另一种解决方案是使用UNION运算符(可以删除重复的行)。

SELECT * FROM tablename WHERE wordname LIKE '%a%'
UNION ALL
SELECT * FROM tablename WHERE wordname LIKE '%b%'
....

答案 2 :(得分:0)

SELECT * FROM tablename 
WHERE wordname LIKE '%a%' 
AND wordname LIKE '%e%' 
AND wordname LIKE '%b%' 
AND wordname LIKE '%i%' 
AND wordname LIKE '%p%'