fork download
  1. import re
  2.  
  3. pattern = r"^\.{3,}$\n(\S+)\n\.{3,}(?:\n(?!\.{3,}\n\S+\n\.{3,}).*)*"
  4.  
  5. s = ("....\n"
  6. "sdsdsd\n"
  7. "..........\n\n"
  8. "asdfhjgjksdfk dfkaskk sdkfk skddkf skdf sdk ssaaa akskdf sdksdfsdf ksdf sd kkkkallwow.\n"
  9. "sdsdllla lsldlsd lsldlalllLlsdd asdd. sdlsllall asdsdlallOEFOOASllsdl lsdlla.\n"
  10. "slldlllasdlsd.ss;sdsdasdas.\n\n"
  11. "......\n"
  12. "ddss\n"
  13. "................\n\n"
  14. "asdfhjgjksdfk ddjafjijjjj.dfsdfsdfsdfsi dfodoof ooosdfow oaosofoodf aosolflldlfl , dskdkkfkdsa asddf;akkdfkdkk . sdlsllall asdsdlallOEFOOASllsdl lsdlla.\n"
  15. "slldlllasdlsd.ss;sdsdasdas.\n\n"
  16. ".....\n"
  17. "xxxx\n"
  18. ".......\n"
  19. "asdfghjkl")
  20.  
  21. matches = re.finditer(pattern, s, re.MULTILINE)
  22.  
  23. for matchNum, match in enumerate(matches, start=1):
  24. print("====================================================")
  25. print("Filename : 'group1_{}'".format(match.group(1)))
  26. print(match.group())
  27. print("====================================================")
Success #stdin #stdout 0.03s 9272KB
stdin
Standard input is empty
stdout
====================================================
Filename    : 'group1_sdsdsd'
....
sdsdsd
..........

asdfhjgjksdfk dfkaskk sdkfk skddkf skdf sdk ssaaa akskdf sdksdfsdf ksdf sd kkkkallwow.
sdsdllla lsldlsd lsldlalllLlsdd asdd. sdlsllall asdsdlallOEFOOASllsdl lsdlla.
slldlllasdlsd.ss;sdsdasdas.

====================================================
====================================================
Filename    : 'group1_ddss'
......
ddss
................

asdfhjgjksdfk ddjafjijjjj.dfsdfsdfsdfsi dfodoof ooosdfow oaosofoodf aosolflldlfl , dskdkkfkdsa asddf;akkdfkdkk . sdlsllall asdsdlallOEFOOASllsdl lsdlla.
slldlllasdlsd.ss;sdsdasdas.

====================================================
====================================================
Filename    : 'group1_xxxx'
.....
xxxx
.......
asdfghjkl
====================================================