我正在尝试查找重复3次或更多次的字符,例如我想要使用以下字符串:
('aaa','buuuuut','oddddddddd')
并且仅用一个替换所有出现的三个或更多字母:
('a','but','od').
我试过跟随代码
s=re.sub(r'(\w)\3*',r'(\w)',s)
Run Code Online (Sandbox Code Playgroud)
但它会导致编译错误.
我需要使用什么正则表达式?
看这个:
>>> mystr = 'buuuuuttttt'
>>> re.sub(r'(.)\1{2,}', r'\1', mystr)
'but'
>>> mystr = 'buttt'
>>> re.sub(r'(.)\1{2,}', r'\1', mystr)
'but'
>>>
Run Code Online (Sandbox Code Playgroud)