Can the output of "tail -f" be filtered so I only see what my regular expression matches?

I'm tailing one of apache's error logs for a busy site but want to see requests from a certain IP or to a certain script but doing:

tail -f <file> | grep <regexp>

stalls....

Any thoughts?