MySQL RegEx:从regexp获得错误'empty(sub)expression'

时间:2015-07-10 08:45:15

标签: mysql regex

我有一个participants列,其中包含"99005|99001|99002|99001999|99004"这样的用户登录值。

我想要的是匹配"99001"而不匹配"99001999"

这是我的方法:

SELECT * FROM `bv_sklad_products` WHERE `stage`=4 AND `participants` REGEXP ('^([^\|]+(\|))*(99001|99005)((\|)[^\|]+)*$') AND `start_date` BETWEEN '2015-07-09' AND '2015-07-10' ORDER BY `id` DESC LIMIT 0,100

我收到错误消息:

Got error 'empty (sub)expression' from regexp

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您可以使用字边界。

regexp  '[[:<:]]99001[[:>:]]'

regexp '(^|[|])99001([|]|$)'