consider your string to match--
---->cells--->
a - 0th location cell
b - 1st location cell
3 - 2nd location cell
4 - 3rd location cell
e - 4th location cell
f - 5th location cell
i have shown above how actually the cell number and index differs.
now your regex is ----> "\\d*" which is a digit( 0-9 ) zero times or more.
as you use a greedy quantifier it will find a first match as
-->at index-0 where no any digit is present and as it start at 0(and ends also at 0) with no digit so it gives a output with a 4 white space(/t) showing no any digit accordingly with your print format.here match is "" which is a zero length string
-->next match at index 1 and ends at 1.match is "".
-->next match starts at 2 but ends at 4 and will not backoff( for the match like 34,23,4,3,2,"") because of greedy quantifier being used their.
-->next match at 4 and ends at 4.
-->next match at 5 and ends at 5.
-->next match at 6 and ends at 6.
you can clarify the matches with the above shown string(accordingly with index and cells).
Hope it helps!
Regards,
praveen.