Dividir un texto en oraciones

¿Cómo puedo dividir un texto en una matriz de oraciones?

Texto de ejemplo:

Freírme un castor. ¡Fry me un castor! ¿Fry me un castor? Fry me Beaver no. 4 ?! Fry me muchos castores ... fin

Debe salir:

0 => Fry me a Beaver.
1 => Fry me a Beaver!
2 => Fry me a Beaver?
3 => Fry me Beaver no. 4?!
4 => Fry me many Beavers...
5 => End

Intenté algunas soluciones que encontré en SO a través de la búsqueda, pero todas fallan, especialmente en la cuarta oración.

/(?<=[!?.])./

/\.|\?|!/

/((?<=[a-z0-9)][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])/

/(?<=[.!?]|[.!?][\'"])\s+/    // <- closest one

Respuestas a la pregunta(1)

Su respuesta a la pregunta