用于逗号分隔文本的Mysql正则表达式

时间:2014-06-23 14:07:41

标签: mysql regex comma

我对存储在数据库中的逗号分隔文本有一点问题。我有一个像“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。

我希望一切都清楚。

提前致谢。

1 个答案:

答案 0 :(得分:4)

由于MySQL使用的POSIX引擎既不支持word boundary anchors也不支持lookaround assertions),所以你必须使用像

这样的正则表达式作弊。
(^|,)5(,|$)

确保只有在逗号或字符串的开头/结尾处包围时才匹配5