使用正则表达式在 MySQL 中精确搜索关键字
使用正则表达式提高搜索准确性
为了在 MySQL 查询中进行精确的全字匹配,请结合使用 REGEXP
运算符和单词边界标记。 这可确保您的关键字仅在独立单词时才匹配,从而防止较大单词内的部分匹配。
较旧的 MySQL 版本(8.0.4 之前):
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
[[:<:]]
和 [[:>:]]
标记定义单词边界。
MySQL 8.0.4 及更高版本:
MySQL 8.0.4 及更高版本使用不同的正则表达式引擎。 现在推荐的方法是使用标准单词边界标记 b
:
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\brid\b'</code>
注意双反斜杠 (\
) 转义反斜杠字符。 这对于 MySQL 引擎的正确解释至关重要。
以上是MySQL搜索如何实现全字匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!