Dividir cadena en oraciones en javascript

Actualmente estoy trabajando en una aplicación que divide una columna larga en otras cortas. Para eso dividí todo el texto en palabras, pero en el momento mi expresión regular también divide los números.

Lo que hago es esto:

str = "This is a long string with some numbers [125.000,55 and 140.000] and an end. This is another sentence.";
sentences = str.replace(/\.+/g,'.|').replace(/\?/g,'?|').replace(/\!/g,'!|').split("|");

El resultado es:

Array [
    "This is a long string with some numbers [125.",
    "000,55 and 140.",
    "000] and an end.",
    " This is another sentence."
]

El resultado deseado sería:

Array [
    "This is a long string with some numbers [125.000, 140.000] and an end.",
    "This is another sentence"
]

¿Cómo tengo que cambiar mi expresión regular para lograr esto? ¿Debo tener cuidado con algunos problemas que podría encontrar? ¿O sería lo suficientemente bueno para buscar". ", "? " y"! "?

Respuestas a la pregunta(7)

Su respuesta a la pregunta