MySQL布尔匹配/反对中的REGEXP用法

我有以下的MySQL查询:

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

这里的“正则表达式”寻找一个“完整的单词”科罗拉多(有或没有结尾的“s”)。

我想实际上只选择那些有(“丹佛”)AND(“科罗拉多”或“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] * [[:>:]]”)'BOOLEAN MODE);


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

  • 布尔全文搜索
  • 尝试这样的事情:

    SELECT title, description
    FROM some_table
    WHERE MATCH (title,description)
          AGAINST ('+denver +(colorado colorados)' IN BOOLEAN MODE);
    
    链接地址: http://www.djcxy.com/p/75327.html

    上一篇: MySQL REGEXP usage within Boolean Match/Against

    下一篇: Using != with ANY