gpt4 book ai didi

用于排除重复单个字符的正则表达式

转载 作者:行者123 更新时间:2023-12-05 00:45:44 25 4
gpt4 key购买 nike

我正在尝试创建一个匹配重复模式或两个或更多字符(不包括单个重复字符)三次或更多次的正则表达式。

(.)\1{3,} 将匹配单个重复字符,例如匹配 aaaa 但不匹配 ababababcde

(.+)\1{3,} 将匹配重复的模式,例如aaaabababab ab ab 但不是 abcde

我只想匹配 ababab, ab ab ab 等但不是 aaaaabcde

我该如何解决这个问题?

最佳答案

你可以使用这个正则表达式:

^((.)\2*?(?!\2).+?)\1{2,}$

第一部分 ((.)\2*?(?!\2).+?) 匹配其中至少有 2 个不同字符的字符串,然后至少重复它还有 2 次 \1{2,}

分解第一部分,我们首先匹配第一个字符,把它放在第 2 组中。然后我们允许这个字符重复几次,或者不重复 (\2*)。然后我们断言除了这个字符 (?!\2) 之外肯定还有别的东西。然后我们懒惰地匹配其余的 .+?.

Demo

关于用于排除重复单个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56164313/

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