正規表現で、fooを含みbarを含まない行をヒットさせる方法はないでしょいか?

いまのところ、文字列fooを含まない行は
^(((([^f]*)*(f+[^o][^f]*)*)*)*(f+o[^o][^f]*)*)*$
でヒットすることがわかりました。
この先がどうしてもわからないのです。
お知恵をお貸し下さい。