我正在尝试在sql中设计一个正则表达式以匹配以下条件
值=' AA,XX | BB,XX | CC,XX | DD,XX',由' |'
分隔搜索=' B,XX' =>假
搜索=' A,XX' =>假
搜索=' BB,XX' =>真
搜索=' AA,XX' =>真
如果选择使用%search%,那么' B,XX',' A,XX'也将匹配模式
有人会为此问题提供嵌套正则表达式的一些指导
请注意
答案 0 :(得分:0)
最简单的方法是函数find_in_set()
。但是,您需要将分隔符更改为逗号:
where find_in_set('B', replace(value, '|', ','))
您还可以使用like
:
where concat('|', value, '|') like concat('%|', 'B', '|%')
在这两个表达式中,'B'
表示任意搜索字符串。