If you use ksh (or bash with extended globbing activated, or zsh with ksh globs enabled) you can achieve the desired function using only file globbing patterns:
ls -d -- !(*bak)
With grep, to get a simple solution, just use the negation -v:
ls | grep -v 'bak$'