Dividir cadenas a través de expresiones regulares por puntuación y espacios en blanco, etc. en java

Tengo este archivo de texto que leí en una aplicación Java y luego cuento las palabras en él línea por línea. En este momento estoy dividiendo las líneas en palabras por una

String.split([\\p{Punct}\\s+])"

Pero sé que me estoy perdiendo algunas palabras del archivo de texto. Por ejemplo, la palabra "no se puede" se debe dividir en dos palabras "se puede" y "t".

Comas y otros signos de puntuación deben ignorarse por completo y considerarse como espacios en blanco. He estado tratando de entender cómo formar una expresión regular más precisa para hacer esto, pero soy un novato cuando se trata de esto, así que necesito ayuda.

¿Cuál podría ser una mejor expresión regular para el propósito que he descrito?

Respuestas a la pregunta(4)

Su respuesta a la pregunta