Perl - 替换除最后一次出现的所有内容

Perl - Replace all but last occurence

我有一个字符串,其中包含多次出现的字符串 <br />。我想替换所有这些,除了最后一个,没有斜线:<br>

所以,如果我有一个字符串:

A<br />B<br />C<br />D<br />. 

我想要字符串:

A<br>B<br>C<br>D<br />. 

您可以使用先行断言,要求字符串至少有一个 <br /> 剩余:(?=.*<br />)。这是一个例子:

$ perl -pe's|<br />(?=.*<br />)|<br>|g'
A<br />B<br />C<br />D<br />
A<br>B<br>C<br>D<br />