Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用SQLite中的字符列表匹配字符串_Regex_Sqlite_Sql Like - Fatal编程技术网

Regex 如何使用SQLite中的字符列表匹配字符串

Regex 如何使用SQLite中的字符列表匹配字符串,regex,sqlite,sql-like,Regex,Sqlite,Sql Like,我在使用SQLite时遇到问题,尤其是类似的语句。我想从一个表中检索数据,其中varchar列由用户给定的字符列表组成 例如: 如果用户传入awnxov,我希望这些字母匹配的单词,如won和wax,它们可能在我的表格中。从您的评论中,您希望提供字母列表并查找所有匹配的单词。你不能像那样使用 但是,您可以使用REGEXP。但要使用它,您需要安装一个regexp库或编写自己的regexp函数并提供回调 如果您正在使用Ubuntu: sudo apt-get install sqlite3-pcre

我在使用
SQLite
时遇到问题,尤其是
类似的
语句。我想从一个表中检索数据,其中
varchar
列由用户给定的字符列表组成

例如:


如果用户传入
awnxov
,我希望这些字母匹配的单词,如
won
wax
,它们可能在我的表格中。

从您的评论中,您希望提供字母列表并查找所有匹配的单词。你不能像
那样使用

但是,您可以使用
REGEXP
。但要使用它,您需要安装一个regexp库或编写自己的regexp函数并提供回调

如果您正在使用Ubuntu:

sudo apt-get install sqlite3-pcre
也可以从github页面进行安装

然后,在运行sqlite时,需要执行以加载
regexp()
函数:

.load /usr/lib/sqlite3/pcre.so
(或lib所在的任何地方)

最后,您可以执行以下操作:

SELECT word
FROM   table
WHERE  word REGEXP '^[awnxov]+$'
或者你认为匹配的任何其他PCRE

这可能不会有好的表现。这很可能是对所有数据的扫描。根据有多少数据,以及收到多少字母作为输入,您可能只需要创建一个索引并搜索每两个字母组合,然后执行检入代码以查看它是否通过


祝你好运

你能提供一个例子或者你已经尝试过的东西吗?我想检查一下这个单词“won”是否由这个单词包含“awnxov”的字符组成,单词“won”存储在数据库中,谢谢