Regex - сопоставить все, кроме определенной строки

Мне нужно регулярное выражение (будет использоваться в маршрутизации ZF2, я полагаю, что он использует preg_match из php), которое соответствует чему-либо, кроме конкретной строки.

Например: мне нужно сопоставить все, кромекрасный ","зеленый» или же "синий».

В настоящее время у меня есть регулярное выражение:

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

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

В последнем случае регулярное выражение ведет себя не так, как я хочу. Должно совпадатьredtest» так как "redtest» не является ("красный ","зеленый» или же "синий»).

Любые идеи о том, как исправить регулярное выражение?

Ответы на вопрос(3)

Ваш ответ на вопрос