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

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

例如,对于搜索请求:

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

附:它是使用REGEXP运算符在MySQL中搜索的.

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

点赞