gpt4 book ai didi

MySQL Regex 用于匹配较大字符串中的 3 个相同字符但不匹配 4 个相同字符

转载 作者:可可西里 更新时间:2023-11-01 07:36:43 24 4
gpt4 key购买 nike

例如,对于“000”,我想找到:

  • 0//////0/00/LS///////000
  • 000////0/00/LS//////////
  • 0//////0/00/LS////000///
  • 0//////000//LS//////000/
  • 0//////000//LS//00000000

但不是:

  • 0//////0000/LS/////////
  • 0//////0000/LS/////////
  • 0/////00000/LS/////////

我已经尝试了下面的代码,我认为它会匹配前面和后面跟着零个或多个不为 0 的字符的 3 个零,但这导致一些行带有单个 0 和一些 000000

REGEXP '[^0]*[0{3}][^0]*'

非常感谢。

最佳答案

如果您计划在 MySQL 中使用正则表达式,则不能使用环视。因此,您可以使用带有否定字符类和 anchor 的交替:

(^|[^0])0{3}([^0]|$)

参见 regex demo

解释:

  • (^|[^0]) - 匹配字符串开头 (^) 或 0 以外的字符的组
  • 0{3} - 恰好 3 个零
  • ([^0]|$) - 一组匹配 0 以外的字符或字符串结尾 ($) .

关于MySQL Regex 用于匹配较大字符串中的 3 个相同字符但不匹配 4 个相同字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36678586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com