我有以下MySQL查询:的MySQL REGEXP使用/反对
SELECT标题,说明FROM some_table WHERE MATCH(标题,说明) AGAINST('+丹佛(REGEXP“[[:<:] ] colorado [s] * [[:>:]]“)'BOOLEAN MODE);
的“正则表达式”在这里寻找一个“完整的单词”科罗拉多(有或没有结束的“S”)。
我想实际仅选择有(“掘金”)AND(“科罗拉多州”或“科罗拉多”)的行。但我不能为REGEXP输入“+”。我试过但得到了0个结果,尽管表中有符合要求的行。
我如何能得到“+”,以对抗内使用REGEXP工作任何想法? 我正在从一个PHP脚本构造这个,其中“丹佛”和“科罗拉多”是我用来构造select语句的变量的值。
我的PHP/MySQL的脚本看起来有点像这样:
SELECT标题,描述从some_table WHERE MATCH(标题,描述) AGAINST('+ $ VAR1(REGEXP“[[:<:] $ var2 [s] * [[:>:]]“)'BOOLEAN MODE);
感谢马克。但是,这也会带来“丹佛abcolorado”甚至“丹佛无论123colorado890”行。我的要求是只挑选$ var2及其复数中的完整单词。我可能需要在PHP中构建该查询。请让我知道你是否有其他想法?再次感谢。 – Sameer
@Sameer:你确定吗?你测试过了吗?看到这个小提琴:http://sqlfiddle.com/#!2/d971f/1 –
令人惊叹!老实说,没有尝试过,认为它会拿起其他行。我承认我还有很多要学习!感谢一堆马克! – Sameer