我有一个包含列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
答案 0 :(得分:0)
也许你可以这样做:
select rt.value from regextable as rt where 'bcccccd' rlike rt.regexp
每个输入值使用一个查询。