mercredi 25 mars 2015

how to not have split method of regular expression return groups

I'm trying to use re to match a pattern that starts with '\n', followed by a possible 'real(r8)', followed by zero or more white spaces and then followed by the word 'function', and then I want to split the string at where matches occur. So for this string,



text = '''functional \n function disdat \nkitkat function wakawak\nreal(r8) function noooooo \ndoit'''


I would like:



['functional ',
' disdat \nkitkat function wakawak',
' noooooo \ndoit']


However,



regex = re.compile(r'''\n(real\(r8\))?\s*\bfunction\b''')

regex.split(text)


returns



['functional ',
None,
' disdat \nkitkat function wakawak',
'real(r8)',
' noooooo \ndoit']


split returns the matches' groups too. How do I ask it not to?


Aucun commentaire:

Enregistrer un commentaire