我对存储在数据库中的逗号分隔文本有一点问题。我有一个像“12,5,45”的字符串,我想使用mysql的regexp函数匹配5:
agents REGEXP 'some regex here'
我怎样才能做到这一点?
我已经使用regexps结束了,例如\ 5 +(,\ s * 5 +)\或(?:( 5)*。)?5+ \但它也匹配像“12,45”或“15”这样的字符串, 1" 。我需要regexp,它恰好匹配5个字符串,例如:
“5”,“1,3,5”,“64,5”
不
“45,12”,“1,50”。
5是元素的ID,所以我也不能匹配15或45。
我希望一切都清楚。
提前致谢。
答案 0 :(得分:4)
由于MySQL使用的POSIX引擎既不支持word boundary anchors也不支持lookaround assertions),所以你必须使用像
这样的正则表达式作弊。(^|,)5(,|$)
确保只有在逗号或字符串的开头/结尾处包围时才匹配5
。