регулярное выражение отрицательный взгляд с 2 соседними совпадениями

Должен быть простой вопрос от кого-то там:

Если я запускаю этот JavaScript:

var regex = new RegExp("(?!cat)dog(?!cat)","g");
var text =  "catdogcat catdogdog catdogdogcat".replace(regex,"000");
console.log(text);

Это выводит это:

catdogcat cat000000 cat000dogcat

Но я думаю, что это должно вывести это:

catdogcat cat000000 cat000000cat

Почему не вторая "собака" вcatdogdogcat заменено на000?

РЕДАКТИРОВАТЬ: Я хочу заменить "собаку", когда у нее нет ОБА. ВcatdogdogcatИ ОБА собаки соблюдают это требование, и поэтому они должны быть заменены. Очевидно, я не понимаю эти негативные взгляды ...

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

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