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

用于精确单词匹配的mysql正则表达式,mysql,regex,Mysql,Regex,我想要正则表达式来精确匹配mysqlselect查询的单词。如果我有下面的字符串从数据库 string : my name is amit patel with surname amitnindroda 现在我想从上面的字符串中匹配整个单词amit,然后它应该找到确切的单词amit,而不应该从amitnindroda中找到匹配项。请为mysql查询推荐正则表达式您可以使用REGEXP关键字和[[::]]单词边界标记: SELECT * FROM tablename WHERE keywor

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

string :  my name is amit patel with surname amitnindroda

现在我想从上面的字符串中匹配整个单词
amit
,然后它应该找到确切的单词
amit
,而不应该从
amitnindroda
中找到匹配项。请为mysql查询推荐正则表达式

您可以使用
REGEXP关键字
[[::]]
单词边界标记:

SELECT *
FROM tablename 
WHERE keywords REGEXP '[[:<:]]word[[:>:]]'
查询:


因此,您可以在这里看到上面的查询仅搜索单词
'admin'

您可以使用
REGEXP关键字
[[:]]
单词边界标记:

SELECT *
FROM tablename 
WHERE keywords REGEXP '[[:<:]]word[[:>:]]'
查询:


所以你可以在这里看到上面的查询只搜索单词
'admin'

[[:]]
。开头和结尾看起来很奇怪的是单词边界
[[:]]
。开头和结尾看起来很奇怪的是单词边界您好,有没有像“ABC(Apple)”这样的搜索括号。有括号时它会断开。是的@RajuSingh,你可以使用REGEXP'[[::]]'你好,有没有关于搜索括号的想法,比如“ABC(Apple)”。有括号时会断开。是的@RajuSingh,可以使用REGEXP'[[::]]
SELECT * FROM test WHERE test.name REGEXP '[[:<:]]admin[[:>:]]'
 id  name
 1   my name is admin in userwindow