我想使用的正则表达式是:^(?=.*[,])(,?)ABC(,?)$
我想要的是:
^ // start
(?=.*[,]) // contains at least one comma (,)
(,?)ABC(,?) // The comma is either in the beginning or in the end of the string "ABC"
$ // end
当然ABC
应该是基于我的搜索字词的变量。
因此,如果ABC = 'abc'
然后",abc"
,"abc,"
,",abc,"
匹配但不匹配"abc"
或"abcd"
也欢迎更好的方法。
记录中的值看起来像"abc,def,ghi,ab,cde..."
,我需要查明它是否包含我的元素(即'abc'
)。我无法改变数据结构。我们可以假设在任何情况下记录都不会只包含一个子值,所以假设值中总是有一个逗号是正确的。
答案 0 :(得分:2)
如果你想知道逗号分隔的字符串是否包含abc
,那么我认为like
是任何数据库中最简单的方法:
where ',' + col + ',' like '%,abc,%'