1

我有一个表,其中一列是逗号分隔的标签字符串。我曾经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。

4

1 回答 1

1

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

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

来自这里的示例http://dev.mysql.com/doc/refman/5.6/en/regexp.html

于 2013-10-03T05:32:55.503 回答