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