为什么[:blank:]在MySQL中不起作用

时间:2013-10-03 05:25:18

标签: mysql regex

我有一个表,其中一列是逗号分隔的标记字符串。我使用REGEXP来选择包含输入标记的所有条目,但起初它不起作用 以下是我第一次尝试的查询,该查询仅对字符串开头的标记返回true。

SELECT * FROM articles WHERE tags REGEXP '(^|,[:blank:]*)some tag([:blank:]*,|$)'

由于我只假设标签和逗号之间有空格,我尝试使用''(空格)代替。

SELECT * FROM articles WHERE tags REGEXP '(^|, *)some tag( *,|$)'

这符合我的预期。但是,根据文档,它看起来像[:blank:]匹配空格。我的问题是为什么它没有像我预期的那样工作。我正在使用MySQL 5.6.10。

1 个答案:

答案 0 :(得分:1)

从文档中我看到他们使用双括号:

 SELECT 'justalnums' REGEXP '[[:alnum:]]+';

此处的示例http://dev.mysql.com/doc/refman/5.6/en/regexp.html