首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL REGEXP在布尔型匹配/反对中的使用

问MySQL REGEXP在布尔型匹配/反对中的使用
EN

Stack Overflow用户
提问于 2012-05-24 12:31:38
回答 1查看 3.2K关注 0票数 4

我有以下MySQL查询:

代码语言:javascript
复制
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脚本看起来有点像这样:

代码语言:javascript
复制
SELECT title, description 
FROM some_table 
WHERE MATCH (title,description) AGAINST ('+$var1 (REGEXP "[[:<:]]$var2[s]*[[:>:]]")' IN BOOLEAN MODE);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-24 12:40:32

我认为将正则表达式和匹配结合起来是不可能的。在布尔模式下。您需要使用用于编写布尔表达式的语法。

尝试如下所示:

代码语言:javascript
复制
SELECT title, description
FROM some_table
WHERE MATCH (title,description)
      AGAINST ('+denver +(colorado colorados)' IN BOOLEAN MODE);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10731187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档