Pipe not taken into consideration

I'm trying to see every file which my group (staff) has in a certain directory, recursively. The pipe

ls -l -R | grep staff

is not working exactly as I want, as for every directory to which my user does not have access, a line like:

ls: ./directory/lost+found: The file access permissions do not allow the specified action.

gets in the output. I don't care if I don' have permissions. But I thought that grep would only take back the output lines from "ls" which have "staff" on them, and not the messages that "ls" throws.
Is there anyway to take those lines out?
Thanks in advance,
panchopp.

Try:
ls -lR 2>/dev/null | grep staff

Txs, it works perfectly. Quick question:
If I understand correctly, with

>/dev/null

you are throwing the error output to the trash, correct? But what is the "2" about? could not find it in the manual.
Cheers,
panchopp.

2 is the file descriptor for errors. Also 1 is the file descriptor for standard output and 0 is standard input.

Does it work for the "ls" command only? I did a

find . -name file_name 2 > /dev/null

and it threw "find: 0652-009 There is a missing conjunction"
Thanks so much,
panchopp

No space after the 2