【发布时间】:2012-06-10 13:54:36
【问题描述】:
我有一个包含多个连续字符序列的字符串,例如:
aaabbcccdddd
我想将其表示为:a3b2c3d4
到目前为止,我想出了这个:
#! /usr/bin/perl
$str = "aaabbcccdddd";
$str =~ s/(.)\1+/$1/g;
print $str."\n";
输出:
abcd
它将连续的字符存储在捕获缓冲区中,并且只返回一个。但是,我想要一种方法来计算捕获缓冲区中连续字符的数量,然后只显示一个字符,然后显示该计数,以便将输出显示为 a3b2c3d4 而不是 abcd。
上面的正则需要什么修改?
【问题讨论】: