s='''RECORD1 Sed similique nostrum quibusdam minus. Rerum repudiandae et ipsum numquam commodi repellendus. Aut minima ratione vel
beatae minima reprehenderit provident neque. Earum quam temporibus repudiandae quidem officiis
RECORD2 Sed similique nostrum quibusdam minus. Rerum repudiandae et ipsum numquam commodi repellendus. Aut minima ratione vel
beatae minima reprehenderit provident neque. Earum quam temporibus repudiandae quidem officiis
RECORD3 It is a long established fact that a reader will be distracted by the readable content of a page when looking at its
layout.
RECORD4 '''
regex = r"(?s)(RECORD.*?\s).*?(?=(RECORD.*?\s))"
matches =re.finditer(regex, s)
for matchNum, match inenumerate(matches):
matchNum = matchNum + 1
print("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum inrange(0,len(match.groups())):
groupNum = groupNum + 1
print("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
Match 1 was found at 0-223: RECORD1 Sed similique nostrum quibusdam minus. Rerum repudiandae et ipsum numquam commodi repellendus. Aut minima ratione vel
beatae minima reprehenderit provident neque. Earum quam temporibus repudiandae quidem officiis
Group 1 found at 0-8: RECORD1
Group 2 found at 223-231: RECORD2
Match 2 was found at 223-445: RECORD2 Sed similique nostrum quibusdam minus. Rerum repudiandae et ipsum numquam commodi repellendus. Aut minima ratione vel
beatae minima reprehenderit provident neque. Earum quam temporibus repudiandae quidem officiis
Group 1 found at 223-231: RECORD2
Group 2 found at 445-453: RECORD3
Match 3 was found at 445-582: RECORD3 It is a long established fact that a reader will be distracted by the readable content of a page when looking at its
layout.
Group 1 found at 445-453: RECORD3
Group 2 found at 582-590: RECORD4