Perl正则表达式删除字符串中的重复连续子串

Ras*_*ika 4 regex perl substring

我试图搜索这个特定的问题,但我得到的只是删除重复的行或删除重复的字符串,它们被分隔符分隔.

我的问题略有不同.我有一个字符串,如

    "comp name1 comp name2 comp name2 comp name3" 
Run Code Online (Sandbox Code Playgroud)

我想要删除重复的comp name2并仅返回

    "comp name1 comp name2 comp name3" 
Run Code Online (Sandbox Code Playgroud)

它们不是连续的重复单词,而是连续的重复子串.有没有办法用正则表达式来解决这个问题?

bti*_*lly 7

s/(.*)\1/$1/g
Run Code Online (Sandbox Code Playgroud)

请注意,此正则表达式的运行时间是字符串长度的二次方.