$find /var/www/test -type f ! -regex ".*\(edit\|200x200\).*" -name "*.jpg" -o -name "*.png"
Операции в строке условий find имеют приоритеты, приоритет "или" ниже чем приоритет "и". У вас получилось "(тип -- файл, и не *edit* или *200x200*, и *.jpg) или *.png".
Как быть?
Добавить скобок:
find /var/www/test -type f ! -regex ".*\(edit\|200x200\).*" \( -name "*.jpg" -o -name "*.png" \)
Если не использовать регулярное выражение, то работает:
$find /var/www/test -type f ! -name "*.jpg" -o -name "*.png"
...но совсем не так, как должно.