python正则表达式删除除www之外的所有连续重复项
基本上,我有这样的字符串python正则表达式删除除www之外的所有连续重复项,python,regex,Python,Regex,基本上,我有这样的字符串 wwwccccheapflightscom aaaamypage wwwregularexpressions 现在我有了这个,它删除了所有长度大于3的连续重复 re.sub(r"(\w)\1{2,}",'', string) 但我不希望它删除“www”,我还希望保留第一个连续数字。基于这个例子,我想 wwwcheapflightscom amypage wwwregularexpressions 在代码开头添加www的负前瞻,例如(?!www): (?!www
wwwccccheapflightscom
aaaamypage
wwwregularexpressions
现在我有了这个,它删除了所有长度大于3的连续重复
re.sub(r"(\w)\1{2,}",'', string)
但我不希望它删除“www”,我还希望保留第一个连续数字。基于这个例子,我想
wwwcheapflightscom
amypage
wwwregularexpressions
在代码开头添加
www
的负前瞻,例如(?!www)
:
(?!www)(\w)\1{2,}
演示:
如果要保留第一次出现的值,请按照@bobblebubble的建议用\1
替换
bobble的演示:
或者,您可以使用正向查找
(?如果我想保留第一个Ocurrance,我该怎么做?您给出的解决方案将删除第一个发生。例如,wwwcccaribeancheapcom,我希望它是wwwcaribeancheapcom,而不是wwwaribeancheapcom@Ibrahim我认为lookback解决方案(为什么我提到subst to\1
)。谢谢@BobbleBobble+1。我更新了我的答案以反映您的反馈。我想知道wwcccheapflightscom
的预期结果是什么?
(?<=(\w)|(www\w))(?:\w)\1{2,}