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