Oi, Bruno! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Você montou uma validação bem objetiva usando regex, e é legal ver que usou trim() para evitar espaços extras que poderiam atrapalhar o resultado. Isso mostra atenção aos detalhes do fluxo de entrada do usuário.
Uma dica interessante para o futuro é testar códigos com diferentes padrões usando matches() em alternativas, por exemplo regex alternativo.
Veja este exemplo:
String padrao = "ABC-1234|XYZ-9999";
boolean resultado = "ABC-1234".matches(padrao);
System.out.println(resultado);
Esse código verifica duas opções de formato usando o operador | como alternativa.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!