Mysql正则表达式匹配字符串中的字符串

时间:2015-02-25 02:05:23

标签: sql regex

我正在尝试在sql中设计一个正则表达式以匹配以下条件

值=' AA,XX | BB,XX | CC,XX | DD,XX',由' |'

分隔

搜索=' B,XX' =>假

搜索=' A,XX' =>假

搜索=' BB,XX' =>真

搜索=' AA,XX' =>真

如果选择使用%search%,那么' B,XX',' A,XX'也将匹配模式

有人会为此问题提供嵌套正则表达式的一些指导

请注意

1 个答案:

答案 0 :(得分:0)

最简单的方法是函数find_in_set()。但是,您需要将分隔符更改为逗号:

where find_in_set('B', replace(value, '|', ','))

您还可以使用like

where concat('|', value, '|') like concat('%|', 'B', '|%')

在这两个表达式中,'B'表示任意搜索字符串。