在以逗号分隔的 ID 字符串中查找 ID

时间:2021-02-24 00:01:02

标签: mysql regex

如果能得到一个正则表达式的帮助,我将不胜感激。

我有一串 ids 示例 "123,55,68,890,456,333,168"

查找特定 ID 的正则表达式应该是什么样的——例如 68?请记住,不应返回 168。 可以定位 id 的情况有四种:

  1. x(列表/字符串中只有一个 id)
  2. ,x,(字符串中间的某处)
  3. x,(在字符串的开头)
  4. ,x(在字符串末尾)

我会使用这个正则表达式作为 SQL 查询的一部分。

提前致谢

1 个答案:

答案 0 :(得分:-1)

/(?:^|,)number(?:$|,)/ 应该可以解决问题。

(?:) 是一个非捕获组。它会在 : 之后的括号中查找值,但不会将其包含在您的结果中。 >

所以这个正则表达式表示“找到位于开头或前面有逗号,并在结尾或后跟逗号的 number。”