I want to extract all data between a repeating string 

The text goes like this

```
map report for 0

...................
..............
lot of data in between
.....
......

map report for 1

```

My regex for this is 

```
map = re.findall(r"map report for(.+?)\S*\W*map", filestring, re.S)

```

This only returns lines with even numbers after the search string( I presume the odd part is getting included in the preceding even iteration)

any workarounds?