Regex - coincide con cualquier cosa excepto una cadena específica

Necesito una expresión regular (se usará en el enrutamiento ZF2, creo que usa el preg_match de php) que coincide con cualquier cosa, excepto una cadena específica.

Por ejemplo: necesito hacer coincidir cualquier cosa excepto "rojo", "verde" o "azul".

Actualmente tengo la expresión regular:

^(?!red|green|blue).*$

test -> match (correct)
testred -> match (correct)
red -> doesn't match (correct)
redtest -> doesn't match (incorrect)

En el último caso, la expresión regular no se está comportando como yo quiero. Debe coincidir con "redtest" porque "redtest" no es ("red", "green" o "blue").

¿Alguna idea de cómo arreglar el regex?

Respuestas a la pregunta(3)

Su respuesta a la pregunta