我对存储在数据库中的逗号分隔文本有一点问题。我有一个类似“ 12,5,45”的字符串,我想使用mysql的regexp函数来匹配5:
agents REGEXP 'some regex here'
我该如何实现?
我以\ 5 +(,\ s * 5 +)\或(?:( 5)*。)?5+ \这样的正则表达式结束,但它也匹配“ 12,45”或“ 15,1”之类的字符串。我需要将正则表达式匹配的正则表达式中的5个,例如:
“ 5”,“ 1,3,5”,“ 64,5”
不
“ 45,12”,“ 1,50”。
5是元素的ID,因此我也不能匹配15或45。
我希望一切都清楚。
提前致谢。
最佳答案
由于MySQL使用的POSIX引擎既不支持word boundary anchors也不支持lookaround assertions),因此您必须使用如下正则表达式作弊
(^|,)5(,|$)
确保只有在逗号或字符串的开头/结尾将其包围时,才匹配
5
。
关于mysql - MySQL正则表达式为逗号分隔的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24368093/