Не эксперт по регулярному выражению, но я думаю, что с самого начала вы могли бы использовать негативный взгляд. ^(?!foo).*$ не должен соответствовать чему-либо, начиная с foo.
^(?!foo).*$
foo