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

标签 regex perl substring

我试图对这个特定问题进行搜索,但我得到的只是删除重复的行或删除由分隔符分隔的重复字符串。

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

    "comp name1 comp name2 comp name2 comp name3" 

我想删除重复的 comp name2 并仅返回
    "comp name1 comp name2 comp name3" 

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

最佳答案

s/(.*)\1/$1/g

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

关于regex - Perl正则表达式删除字符串中重复的连续子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546805/

相关文章:

1970 年格式化之前的 Perl 纪元时间

perl - Perl 测试脚本能否检测它是否正在从一个 harness 中并行运行?

C++复制指定字符串索引之间的任何子字符串

python - 如何在一行中找到一个子字符串并从该行追加到下一个子字符串?

regex - 此正则表达式中的前瞻说明

regex - Fluentd 日志源格式 RegEX

python正则表达式删除评论

java - 在 JTable 中搜索 - 未获得正确的输出

perl - 使用 Event::Lib 制作 perl 聊天客户端

python - 在字符串中的子字符串中查找值?