搜索查询的正则表达式,如:word1 *(word2 -word3 -word4)* word5

时间:2011-09-11 07:44:44

标签: mysql regex

问题是,搜索单词序列的正则表达式会排除字符串的具体部分中的某些单词吗?

例如,对于搜索请求:

word1 * (word2 -word3 -word4) * word5

(其中*表示任意数量的单词,而-word表示排除单词)

匹配的字符串将是:

word1 word99 word2 word98 word97 word5

word1 word2 word5

不匹配:

word1 word99 word2 word98 WORD4 word97 word5

word1 WORD3 word2 word5

P.S。它是使用REGEXP运算符在MySQL中搜索的。

2 个答案:

答案 0 :(得分:1)

您将无法使用REGEXP执行此操作,您应该在列上创建FULLTEXT索引并执行FULLTEXT searches,执行搜索IN BOOLEAN MODE将为您提供所需的所有功能。

答案 1 :(得分:1)

尝试使用Sphinx,它具有所需的功能。

相关问题