Como extrair essa subseqüência específica no SQL Server?

Eu tenho uma string com um padrão específico:

<code>23;chair,red [$3]
</code>

isto é, um número seguido por um ponto e vírgula, depois um nome seguido por um colchete esquerdo.

Assumindo o ponto e vírgula; sempre existe e o colchete esquerdo[ sempre existe na string, como faço para extrair o texto entre (e não incluindo) o; e a[ em uma consulta do SQL Server? Obrigado.

questionAnswers(5)

yourAnswerToTheQuestion