如何从perl中的无限字符串中删除重复的子字符串?

Rav*_*ven 0 regex string perl

我有一个奇怪的情况,我想删除除了非常长的无限字符串内的子串的第一个匹配.我在这里找到了一些类似的主题,但没有一个像我一样.

为了简单起见,这里有一些字符串之前和之后的sudo.我有一个不受限制的文件,其中"c"可能是数千个随机字符,但"bbb"是一个唯一的字符串:

aaabbbbbbccccccbbbccccccbbbccccccaaa
Run Code Online (Sandbox Code Playgroud)

我想删除除第一个bbb以外的所有内容:

aaabbbccccccccccccccccccaaa
Run Code Online (Sandbox Code Playgroud)

此外,我希望能够将其用作我可以通过的perl脚本:

cat file.in | something | perl -pe 's/bbb//g' | somethingelse > file.out
Run Code Online (Sandbox Code Playgroud)

但是,与上面的例子不同,我希望第一次出现"bbb"完整."

这似乎应该相当容易,但它让我很难过.
有任何想法吗?
提前致谢!

Ken*_*sis 5

也许以下内容会有所帮助:

use strict;
use warnings;

my $string = 'aaabbbbbbccccccbbbccccccbbbccccccaaa';
$string =~ s/(?<=bbb).*?\Kbbb//g;
print $string;
Run Code Online (Sandbox Code Playgroud)

输出:

aaabbbccccccccccccccccccaaa
Run Code Online (Sandbox Code Playgroud)