Ios Sqlite查询以获取包含相邻词的搜索词

Ios Sqlite查询以获取包含相邻词的搜索词,ios,mysql,regex,sqlite,boolean-search,Ios,Mysql,Regex,Sqlite,Boolean Search,我想使用SQLite中的查询返回搜索词,包括搜索词前后出现的相邻词。有可能这样做吗?还是我应该用另一种方式尝试 例如,对于以下句子(使用数据库表中的“描述”列,列名为DESC): 这将返回: One of the most popular methods 但是,我还想返回两个相邻的单词“most”和“methods”,如下所示: most popular methods 我尝试使用REGEXP进行检查,但以下操作不起作用: @"SELECT Desc FROM tablename WHERE

我想使用SQLite中的查询返回搜索词,包括搜索词前后出现的相邻词。有可能这样做吗?还是我应该用另一种方式尝试

例如,对于以下句子(使用数据库表中的“描述”列,列名为DESC):

这将返回:

One of the most popular methods
但是,我还想返回两个相邻的单词“most”和“methods”,如下所示:

most popular methods
我尝试使用REGEXP进行检查,但以下操作不起作用:

@"SELECT Desc FROM tablename WHERE LineText REGEXP '(^| )popular( |$)'"

@"SELECT LineText FROM table1 WHERE LineText REGEXP '[[:<:]popular[[:>:]'"
@“从LineText REGEXP'(^ |)popular(|$)所在的tablename中选择Desc”
@“从LineText REGEXP'[[:::]'所在的表1中选择LineText”

我可以用query或其他正则表达式获取它们吗?

我认为您的操作不正确。您应该能够使用
LIKE
语句获取返回的字符串,然后使用模板系统或输出流使用返回的字符串解析出单词。

这意味着什么:“我还需要两个相邻的单词“most”和“methods”。从上面的文本中。”?另外,您使用的是MySQL还是SQLite?在MySQL中,您可以尝试
@“从tablename中选择Desc,其中LineText REGEXP'[[::]]”“
。此外,您还可以选中
@“从tablename中选择Desc,其中LineText类似于“%popular%””“
@stribizhev,是的,我检查得太早了,但它返回nil NSRegularExpression..那么语法方面可能有什么问题吗?没有sure@GordonLinoff这是上面问题“最流行的方法之一”中的示例文本。当用户搜索“流行”单词时,我想要“最流行”和“方法”单词也是。这两个单词都出现在上面的句子中。在SQLite3中,您可以尝试像这样使用REGEXP:
@“从tablename中选择Desc,其中LineText REGEXP'\\b popular\\b'
。它对您有用吗?
@"SELECT Desc FROM tablename WHERE LineText REGEXP '(^| )popular( |$)'"

@"SELECT LineText FROM table1 WHERE LineText REGEXP '[[:<:]popular[[:>:]'"