mysql正则表达式精确匹配单词

shi*_*hil 1 regex mysql

我想要正则表达式来精确匹配选择mysql查询的单词。如果我有来自数据库的以下字符串

string :  my name is amit patel with surname amitnindroda
Run Code Online (Sandbox Code Playgroud)

现在我想匹配amit上面字符串中的整个单词,那么它应该找到确切的单词amit,并且不应该从 中找到匹配项amitnindroda。请建议mysql查询的正则表达式

Piy*_*pta 6

您可以使用REGEXP Keyword[[:<:]][[:>:]]单词边界标记:

SELECT *
FROM tablename 
WHERE keywords REGEXP '[[:<:]]word[[:>:]]'
Run Code Online (Sandbox Code Playgroud)

例子:

输入

id  name
1   my name is admin in userwindow
2   my name is user in adminWindow
Run Code Online (Sandbox Code Playgroud)

询问:

SELECT * FROM test WHERE test.name REGEXP '[[:<:]]admin[[:>:]]'
Run Code Online (Sandbox Code Playgroud)

输出:

 id  name
 1   my name is admin in userwindow
Run Code Online (Sandbox Code Playgroud)

所以你可以看到上面的查询'admin'只是搜索单词。