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”存储在数据库中,谢谢