gpt4 book ai didi

MySQL REGEXP 3次重复字符

转载 作者:行者123 更新时间:2023-11-29 09:53:14 24 4
gpt4 key购买 nike

我想在mysql中查找有3个重复字符的字符串。我阅读了这里的所有答案 Regex to find repeating numbers但它不适用于 MySQL 5.7:

select  '211' REGEXP '(.)\1\1'; //true but I expect false

select '211' REGEXP '(.)\1{2}'; // true but I expect false

select '211' REGEXP '([[:alnum:]])\1\1'; //true but I expect false

select '211' REGEXP '(\w)\1{2}'; //false but

select '111' REGEXP '(\w)\1{2}'; // also false

更新:经测试,它在 MySQL 8 上按预期工作。

最佳答案

这可能是:

(.)\1{2}

不幸的是,MySQL 正则表达式不支持反向引用,因此这不起作用。

我想您必须手动定义所有支持的组合并显式地将它们放入正则表达式中,例如:

(000)|(111)|(222)|...|(999)|(aaa)|(bbb)|...|(zzz)

(您需要将 ... 替换为所有其他模式)

如果您想识别仅包含 3 个相似字符且不含其他字符的字符串,请在正则表达式的开头添加 « ^ » 并在末尾添加 « $ »。

关于MySQL REGEXP 3次重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409093/

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