##
$ perl -E '
my $re = qr{(\w+)((?:\s*\d+\s*)*)};
my $str = "a 1 2 3 b 4 5 6";
while ($str =~ /$re/g) {
say "$&: $1 $2";
}
'
a 1 2 3 : a 1 2 3
b 4 5 6: b 4 5 6
####
$ perl -E '
my $re = qr{(?\w+)(?(?:\s*\d+\s*)*)};
my $str = "a 1 2 3 b 4 5 6";
while ($str =~ /$re/g) {
say "$&: $+{letter} $+{digit}";
}
'
a 1 2 3 : a 1 2 3
b 4 5 6: b 4 5 6