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

时间:2016-04-16 04:40:02

标签: mysql regex

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

string :  my name is amit patel with surname amitnindroda

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

1 个答案:

答案 0 :(得分:2)

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

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

示例:

输入

id  name
1   my name is admin in userwindow
2   my name is user in adminWindow

查询:

SELECT * FROM test WHERE test.name REGEXP '[[:<:]]admin[[:>:]]'

输出:

 id  name
 1   my name is admin in userwindow

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