python正则表达式删除所有连续的重复项,除了

2024-10-01 02:30:51 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我有这样的弦

wwwccccheapflightscom 
aaaamypage
wwwregularexpressions

现在我有这个,它删除所有长度大于3的连续重复。你知道吗

re.sub(r"(\w)\1{2,}",'', string)

但我不希望它删除“www”,我还希望保留连续数字的第一次出现。基于这个例子,我想

wwwcheapflightscom 
amypage
wwwregularexpressions

Tags: restringwww数字例子wwwcheapflightscomwwwccccheapflightscomamypage
1条回答
网友
1楼 · 发布于 2024-10-01 02:30:51

在代码开头添加www的负前瞻,例如(?!www)

(?!www)(\w)\1{2,}

演示:https://regex101.com/r/kXBAgV/1

如果您想保持第一次出现,请用@bobblebubble建议的\1替换

波波的演示:https://www.regex101.com/r/4bjQlu/1

是的。你知道吗

或者,您可以使用正向lookback (?<=)。你知道吗

Note: This will not work in Python, but it will work in PHP,

(?<=(\w)|(www\w))(?:\w)\1{2,}

演示:https://regex101.com/r/kXBAgV/3

相关问题 更多 >