Разделить на \n (<em>any amount of spaces</em>) \n
затем:
l = re.split(r'\n\s*\n', l)
print (l)
Оставляет пробелы в вводе слева и справа
['\n 2. Materials and Methods\n 2.1. Data Collection and Metadata Annotations',
' We searched the National Center for Biotechnology Information (NCBI) Gene Expression Omnibus (GEO) database [15]']
, но об этом позаботится быстрая полоса:
l = [par.strip() for par in re.split(r'\n\s*\n', l)]
print (l)
, поскольку это приводит к
['2. Materials and Methods\n 2.1. Data Collection and Metadata Annotations',
'We searched the National Center for Biotechnology Information (NCBI) Gene Expression Omnibus (GEO) database [15]']
Бонусный эффект \s*
заключается в том, что более 2 последовательных \n
с будут рассматриваться как 2 или более, так как выражение по умолчанию захватывает столько, сколько может.