Expresión regular no consumible dividida en Python

¿Cómo se puede dividir una cadena en una expresión de separación mientras se deja ese separador en la cadena anterior?

>>> text = "This is an example. Is it made up of more than once sentence? Yes, it is." >>> re.split("[\.\?!] ", text) ['This is an example', 'Is it made up of more than one sentence', 'Yes, it is.'] 

Me gustaría que el resultado fuera.

 ['This is an example.', 'Is it made up of more than one sentence?', 'Yes, it is.'] 

Hasta ahora solo he intentado una afirmación de búsqueda anticipada, pero esto no se puede dividir en absoluto.

 import re text = "This is an example.A particular case.Made up of more "\ "than once sentence?Yes, it is.But no blank !!!That's"\ " a problem ????Yes.I think so! :)" for x in re.split("(?<=[\.\?!]) ", text): print repr(x) print '\n' for x in re.findall("[^.?!]*[.?!]|[^.?!]+(?=\Z)",text): print repr(x) 

resultado

 "This is an example.A particular case.Made up of more than once sentence?Yes, it is.But no blank !!!That'sa problem ????Yes.I think so!" ':)' 'This is an example.' 'A particular case.' 'Made up of more than once sentence?' 'Yes, it is.' 'But no blank !' '!' '!' "That's a problem ?" '?' '?' '?' 'Yes.' 'I think so!' ' :)' 

.

EDITAR

también

 import re text = "! This is an example.A particular case.Made up of more "\ "than once sentence?Yes, it is.But no blank !!!That's"\ " a problem ????Yes.I think so! :)" res = re.split('([.?!])',text) print [ ''.join(res[i:i+2]) for i in xrange(0,len(res),2) ] 

da

 ['!', ' This is an example.', 'A particular case.', 'Made up of more than once sentence?', 'Yes, it is.', 'But no blank !', '!', '!', "That's a problem ?", '?', '?', '?', 'Yes.', 'I think so!', ' :)'] 
 >>> re.split("(?<=[\.\?!]) ", text) ['This is an example.', 'Is it made up of more than once sentence?', 'Yes, it is.'] 

Lo crucial es el uso de una afirmación retroactiva con ?<= .