MySQL正则表达式列表

时间:2011-07-14 15:02:15

标签: mysql regex

我有一个包含列regexp和列value的MySQL表,如:

regexp    value
 ab+c      abc
 bc+d      bcd

我还有一个值列表,如:(不在数据库中,在查询中)

abc
abbc
bcccccd

我需要将列表中的值与正则表达式匹配,并获取每个项目的值 - 预期输出:

match    value
 abc      abc
 abbc     abc
bcccccd   bcd

如果这不是正则表达式,我可以使用

select `regexp`, `value`
from `mytable`
where `regexp` in ('abc', 'abbc', 'bcccccd')

但是我不能用它来匹配regexp。即使存在某种regexp in,这仍然会有问题,因为它将返回正则表达式而不是匹配的值 - 不需要的输出:

regexp    value
 ab+c      abc
 ab+c      abc
 bc+d      bcd

1 个答案:

答案 0 :(得分:0)

也许你可以这样做:

select rt.value from regextable as rt where 'bcccccd' rlike rt.regexp

每个输入值使用一个查询。