help in regular expression

Hi all,
I'm working with flex (version 2.5.4a) on GNU/linux. I need to frame a regular expression which would match cases where word "file" does not occur. Negated character class wont work for me because they enforce "or" clause between different chars (so something like [^file] wont work). I would like to avoid an explicit expansion.
I hope I'm clear enough. I know this would be pretty simple for few but your help would really be appreciated.

[^f][^i][^l][^e]

overcomes your objection.

I'm really sorry if i was not clear enough but this is not the solution for what I wanted. I want the reg. exp. to match all patterns except "file".

PDL:
while (!end of input stream){
read (input);
if (input!="file")
print("required pattern");
else
print("I don't want this pattern");
}

That is anything except word "file".
An expansion for it could be of the form of
[^f]ile|f[^i]le|fi[^l]e|fil[^e]|[^f][^i]le.....and so on (can't really write full expression for it will have 2^4=16 combinations combined together).
I'm really thankful, you gave your time and hope you (or anyone else) will help me with the solution.

I'm really not getting what you want - lex allows rules of the form r{m,n}
create a simple regex of '^.*file.*$' and apply a r{0,0} to it. Set r{0,0} which means your "file" regex can only occur in the string zero times.... ?

i really dont know,

is it as simple as grep -v "file" <filename> ? i dont get that really

can you please provide some samples ?

Ok jim i'll check out if this suits me. And yes matrix if you meant inverting the selection by 'grep -v' then you are right (but then I've to use lex/flex).
Meanwhile I'm stuck up with another problem I've posted it as new post as its not relevant to this thread. But I'ld like to request you both to look into the problem and help me out.