\d = digit
* = zero or more (0->)
Pattern: \d* (Read: Zero or more digits, it means that every character, alphabets are included)
So, the sequence is: ab34ef
a = zero (.start() = 0, .group() = '' ) printing: 0
b = zero (.start() = 1, .group() = '' ) printing: 1
34 = one (.start() = 2, .group() = 34 ) printing: 234
e = zero (.start() = 4, .group() = '' ) printing: 4
f = zero (.start() = 5, .group() = '' ) printing: 5
= zero (.start() = 6, .group() = '' ) printing: 6
We're into six since indexes: 0-1 = a, 1-2 = b, 2-4=34, 4-5=e, 5-6=f
Every character is counted but, IF it's NOT digit, group() does not print anything. (start() still prints)
Note, that 34 is counted as ONE occurrence.
Hope this helps something...
[ December 06, 2007: Message edited by: Jari Timonen ]