У меня есть строка с несколькими последовательностями последовательных символов, например:
aaabbcccdddd
Я хочу представить это как: a3b2c3d4
На данный момент я придумали это:
#! /usr/bin/perl
$str = "aaabbcccdddd";
$str =~ s/(.)\1+/$1/g;
print $str."\n";
Вывод:
abcd
Он сохраняет последовательные символы в буфере захвата и возвращает только один.Тем не менее, я хочу подсчитать количество последовательных символов в буфере захвата, а затем отобразить только один символ, за которым следует этот счет, чтобы вывод отображался как a3b2c3d4
вместо abcd
.
Какая модификация требуется для приведенного выше регулярного выражения?