SCJP6 regex issue
\d*
matches 0 or more digits. So, it will even match empty string before every character and after the last character. First before index 0
, then before index 1
, and so on.
So, for string ab34ef
, it matches following groups:
Index Group
0 "" (Before a)
1 "" (Before b)
2 34 (Matches more than 0 digits this time)
4 "" (Before `e` at index 4)
5 "" (Before f)
6 "" (At the end, after f)
If you use \\d+
, then you will get just a single group at 34
.