How do we use re.finditer() method in Python regular expression?

According to Python docs,

re.finditer(pattern, string, flags=0)

 Return an iterator yielding MatchObject instances over all non-overlapping matches for the RE pattern in string. The string is scanned left-to-right, and matches are returned in the order found. Empty matches are included in the result. 

The following code shows the use of re.finditer() method in Python regex


import re
s1 = 'Blue Berries'
pattern = 'Blue Berries'
for match in re.finditer(pattern, s1):
    s = match.start()
    e = match.end()
    print 'String match "%s" at %d:%d' % (s1[s:e], s, e)


Strings match "Blue Berries" at 0:12