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

例如,对于搜索请求:
word1 * (word2 -word3 -word4) * word5
(其中 * 表示任意数量的任意单词,-word 表示排除单词)

匹配的字符串将是:
word1 word99 word2 word98 word97 word5word1 word2 word5
不匹配:
word1 word99 word2 word98 WORD4 word97 word5word1 WORD3 word2 word5
附言它用于在 MySQL 中使用 REGEXP 运算符进行搜索。

最佳答案

您将无法使用 REGEXP 做到这一点,您应该在您的列上创建一个 FULLTEXT 索引并执行 FULLTEXT searches ,执行搜索 IN BOOLEAN MODE 将为您提供您想要的所有功能。

关于mysql - 搜索查询的正则表达式,如 : word1 * (word2 -word3 -word4) * word5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7376960/

10-09 22:45