División CamelCase con expresiones regulares

Tengo este código para dividir CamelCase por expresión regular:

Regex.Replace(input, "(?<=[a-z])([A-Z])", " $1", RegexOptions.Compiled).Trim();

Sin embargo, no divide esto correctamente:ShowXYZColours

ProduceShow XYZColours en lugar deShow XYZ Colours

¿Cómo obtengo el resultado deseado?

Respuestas a la pregunta(4)

Su respuesta a la pregunta