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?