import re

pattern = r"^\.{3,}$\n(\S+)\n\.{3,}(?:\n(?!\.{3,}\n\S+\n\.{3,}).*)*"

s = ("....\n"
            "sdsdsd\n"
            "..........\n\n"
            "asdfhjgjksdfk dfkaskk sdkfk skddkf skdf sdk ssaaa akskdf sdksdfsdf ksdf sd kkkkallwow.\n"
            "sdsdllla lsldlsd lsldlalllLlsdd asdd. sdlsllall asdsdlallOEFOOASllsdl lsdlla.\n"
            "slldlllasdlsd.ss;sdsdasdas.\n\n"
            "......\n"
            "ddss\n"
            "................\n\n"
            "asdfhjgjksdfk ddjafjijjjj.dfsdfsdfsdfsi dfodoof ooosdfow oaosofoodf aosolflldlfl , dskdkkfkdsa asddf;akkdfkdkk . sdlsllall asdsdlallOEFOOASllsdl lsdlla.\n"
            "slldlllasdlsd.ss;sdsdasdas.\n\n"
            ".....\n"
            "xxxx\n"
            ".......\n"
            "asdfghjkl")

matches = re.finditer(pattern, s, re.MULTILINE)

for matchNum, match in enumerate(matches, start=1):
    print("====================================================")
    print("Filename    : 'group1_{}'".format(match.group(1)))
    print(match.group())
    print("====================================================")