Quitar parte de la cadena después de la coincidencia de expresiones regulares en Java

Quiero eliminar una parte de una cadena siguiendo lo que coincide con mi expresión regular.

Estoy tratando de hacer un programa de organización de programas de televisión y quiero cortar cualquier cosa en el nombre después de la temporada y el marcador de episodio en la forma SXXEXX donde X es un dígito.

Agarré el modelo de expresión regular con bastante facilidad para crear "[Ss] \ d \ d [Ee] \ d \ d" que debería coincidir correctamente.

Quiero usar el método Matcher end () para obtener el último índice en la cadena de la coincidencia, pero no parece estar funcionando como creo que debería.

Pattern p = Pattern.compile("[Ss]\\d\\d[Ee]\\d\\d");
Matcher m = p.matcher(name);

if(m.matches())
    return name.substring(0, m.end());

Si alguien pudiera decirme por qué esto no funciona y sugerir una forma adecuada de hacerlo, sería genial. Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta