gpt4 book ai didi

bool 匹配/反对中的 MySQL REGEXP 使用

转载 作者:可可西里 更新时间:2023-11-01 08:20:58 24 4
gpt4 key购买 nike

我有以下 MySQL 查询:

SELECT title, description 
FROM some_table
WHERE MATCH (title,description) AGAINST ('+denver (REGEXP "[[:<:]]colorado[s]*[[:>:]]")' IN BOOLEAN MODE);

这里的“regexp”寻找一个“完整的词”colorado(有或没有结尾的“s”)。

我实际上只想选择具有 ("denver") 和 ("colorado"或 "colorados") 的那些行。但我不能为 REGEXP 添加“+”。我试过但得到 0 个结果,尽管表中有符合要求的行。

关于如何让“+”在内部使用 REGEXP 的任何想法?我在 PHP 脚本中构建它,其中“denver”和“colorado”是我用来构建 select 语句的变量值。

我的 PHP/MySQL 脚本看起来有点像这样:

SELECT title, description 
FROM some_table
WHERE MATCH (title,description) AGAINST ('+$var1 (REGEXP "[[:<:]]$var2[s]*[[:>:]]")' IN BOOLEAN MODE);

最佳答案

我认为不可能将正则表达式和 MATCH ... IN BOOLEAN MODE 结合起来。您需要使用编写 bool 表达式的语法。

尝试这样的事情:

SELECT title, description
FROM some_table
WHERE MATCH (title,description)
AGAINST ('+denver +(colorado colorados)' IN BOOLEAN MODE);

关于 bool 匹配/反对中的 MySQL REGEXP 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com