Ho un file strutturato come questo:multilinea python regex
A: some text
B: more text
even more text
on several lines
A: and we start again
B: more text
more
multiline text
Sto cercando di trovare l'espressione regolare che dividere il mio file in questo modo:
>>>re.findall(regex,f.read())
[('some text','more text','even more text\non several lines'),
('and we start again','more text', 'more\nmultiline text')]
Finora, ho finito con il seguente:
>>>re.findall('A:(.*?)\nB:(.*?)\n(.*?)',f.read(),re.DOTALL)
[(' some text', ' more text', ''), (' and we start again', ' more text', '')]
Il testo multilinea non viene catturato. Credo sia perché la qualificazione è davvero pigro pigro e prendere nulla, ma lo prendo fuori, la regex diventa davvero goloso:
>>>re.findall('A:(.*?)\nB:(.*?)\n(.*)',f.read(),re.DOTALL)
[(' some text',
' more text',
'even more text\non several lines\nA: and we start again\nB: more text\nmore\nmultiline text')]
Se uno ha un'idea? Grazie !
Benvenuti a StackOverflow! Questo è un esempio di una domanda davvero buona - specifiche complete, codice riproducibile, un'analisi accurata del problema - fantastico! –