如何在MySQL选择查询中编写正则表达式?

dar*_*ron 6 php regex mysql

我尝试使用此表达式/\b(word\w*)\b/i将a word与其他单词列表进行比较以查找重复项.我用过preg_math_all(),它工作得很好.我想做同样的事情,但这次检查从mysql数据库中检索的单词.这就是我写的

SELECT * FROM table WHERE word = /\b(word\w*)\b/i
Run Code Online (Sandbox Code Playgroud)

这没有用.

esq*_*qew 7

您的查询应如下所示:

SELECT * FROM table WHERE column REGEXP '/\b(word\w*)\b/i'
Run Code Online (Sandbox Code Playgroud)


mik*_*kel 5

MySQL regex语法与PHP的语法不同,您不需要在开头和结尾使用定界符。

SELECT * FROM table WHERE word REGEXP '\b(word\w*)\b'
Run Code Online (Sandbox Code Playgroud)

您不能i以与PHP中相同的方式使用标志来区分大小写,例如在MySQL中,正则表达式是否区分大小写取决于列排序规则是否区分大小写。