Sto provando a usare regex per ridurre le stringhe di caratteri ripetuti. Per esempio, io sto cercando di girare:Regex troppo goloso
Yaaaaaaaaay -> yaaay
hahahahahaha -> hahaha
toptoptoptop -> toptoptop
Così, se vedo una sequenza di caratteri ripetuto 3 o più volte, sostituirlo con una sequenza di lunghezza 3. Ecco i problemi che sto avendo. Prendiamo in considerazione la stringa
"hahahahahaha"
e utilizzare il modello di espressione regolare:
(.+)\1{2,}
La partita finisce per essere haha
. Ho smanettato con il tentativo di abbinare solo "ha", ma non riesco a capirlo. Voglio anche che la soluzione sia estendibile a parole come yaaaaay, se possibile. Qualsiasi aiuto sarà apprezzato.
partite
Bel lavoro; soluzione molto elegante –
Ok ... wow grazie ... Ho provato (. +)? \ 1 {2,} ma avevo bisogno del punto interrogativo all'interno. Ci scusiamo per la domanda n00b –