Regex combinando muito

(\[(c|C)=)(#?([a-fA-F0-9]{1,2}){3})\](.*)\[/(c|C)\]

Eu quero essa expressão para combinar o texto como: "Isto é [c = FFFFFF] texto branco [/ c] e [C = # 000] texto preto [/ C]."

Ele corresponde apenas a um código BB, mas se houver mais um após o outro (como no exemplo), ele criará uma correspondência (1 correspondência) de ambas as seqüências de código BB. (de [c = FFFFFF] wh ... para ... ck text [/ C])

Por que isso está acontecendo? Além disso, como eu faço o ponto (.) Incluir novas linhas em c #?

questionAnswers(5)

yourAnswerToTheQuestion