import re
string = """
** Hardware [0/1]
- [ ] adapt a programmable motor to a tripod to be used for panning
** Reading - Technology [1/6]
- [X] Introduction to Networking - Charles Severance
- [ ] A Tour of C++ - Bjarne Stroustrup
- [ ] C++ How to Program - Paul Deitel
- [X] Computer Systems - Randal Bryant
- [ ] The C programming language - Brian Kernighan
- [ ] Beginning Linux Programming -Matthew and Stones
** Reading - Health [3/4]
- [ ] Patrick McKeown - The Oxygen Advantage
- [X] Total Knee Health - Martin Koban
- [X] Supple Leopard - Kelly Starrett
- [X] Convict Conditioning 1 and 2
"""
def getitems( section) :
rx = re .compile ( r'^\* {2} ' + re .escape ( section) + r'.+[\n \r ](?P<block>(?:(?!^\* {2})[\s \S ])+)' , re .MULTILINE )
try :
items = rx.search ( string )
return items.group ( 'block' )
except :
return None
items = getitems( 'Reading - Technology' )
print ( items)
aW1wb3J0IHJlCgpzdHJpbmcgPSAiIiIKKiogSGFyZHdhcmUgWzAvMV0KIC0gWyBdIGFkYXB0IGEgcHJvZ3JhbW1hYmxlIG1vdG9yIHRvIGEgdHJpcG9kIHRvIGJlIHVzZWQgZm9yIHBhbm5pbmcgCioqIFJlYWRpbmcgLSBUZWNobm9sb2d5IFsxLzZdCiAtIFtYXSBJbnRyb2R1Y3Rpb24gdG8gTmV0d29ya2luZyAtIENoYXJsZXMgU2V2ZXJhbmNlCiAtIFsgXSBBIFRvdXIgb2YgQysrIC0gQmphcm5lIFN0cm91c3RydXAKIC0gWyBdIEMrKyBIb3cgdG8gUHJvZ3JhbSAtIFBhdWwgRGVpdGVsCiAtIFtYXSBDb21wdXRlciBTeXN0ZW1zIC0gUmFuZGFsIEJyeWFudAogLSBbIF0gVGhlIEMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgLSBCcmlhbiBLZXJuaWdoYW4KIC0gWyBdIEJlZ2lubmluZyBMaW51eCBQcm9ncmFtbWluZyAtTWF0dGhldyBhbmQgU3RvbmVzCioqIFJlYWRpbmcgLSBIZWFsdGggWzMvNF0KIC0gWyBdIFBhdHJpY2sgTWNLZW93biAtIFRoZSBPeHlnZW4gQWR2YW50YWdlCiAtIFtYXSBUb3RhbCBLbmVlIEhlYWx0aCAtIE1hcnRpbiBLb2JhbgogLSBbWF0gU3VwcGxlIExlb3BhcmQgLSBLZWxseSBTdGFycmV0dAogLSBbWF0gQ29udmljdCBDb25kaXRpb25pbmcgMSBhbmQgMiAgCiAiIiIKCmRlZiBnZXRpdGVtcyhzZWN0aW9uKToKCXJ4ID0gcmUuY29tcGlsZShyJ15cKnsyfSAnICsgcmUuZXNjYXBlKHNlY3Rpb24pICsgcicuK1tcblxyXSg/UDxibG9jaz4oPzooPyFeXCp7Mn0pW1xzXFNdKSspJywgcmUuTVVMVElMSU5FKQoJdHJ5OgoJCWl0ZW1zID0gcnguc2VhcmNoKHN0cmluZykKCQlyZXR1cm4gaXRlbXMuZ3JvdXAoJ2Jsb2NrJykKCWV4Y2VwdDoKCQlyZXR1cm4gTm9uZQoKaXRlbXMgPSBnZXRpdGVtcygnUmVhZGluZyAtIFRlY2hub2xvZ3knKQpwcmludChpdGVtcyk=