匹配带连字符的单词

时间:2014-06-11 20:02:51

标签: mysql regex mariadb

我试图选择在某列中包含带连字符的所有行。这就是我到目前为止所做的:

SELECT * FROM MyTable WHERE list RLIKE '\w-\w'

但是当我知道还有更多时,它只会返回1排。有什么想法吗?

谢谢

| List |
built-in
self-discipline
hang-up
....

编辑:不确定是否重要,但 list 是utf8_unicode_ci

2 个答案:

答案 0 :(得分:2)

MySQL正则表达式不支持\w(或任何其他字符类转义序列)。你必须写:

SELECT * FROM MyTable WHERE list RLIKE '[[:alnum:]_]-[[:alnum:]_]'

有关MySQL正则表达式的详细信息,请参阅Documentation

答案 1 :(得分:0)

如果你想在不使用正则表达式的情况下尝试使用它,那么尝试使用通配符..不确定你是否无法使用它,但这也应该有效

SELECT * FROM MyTable WHERE list LIKE '%-%'
相关问题