If you are using bash shell you can use extended pattern matching functionality.
For example you want to list files in a directory which does not match with certain pattern. Here is how you do it.
$ shopt extglob
extglob off
$ shopt -s extglob # Enable extglob
$ ls -l !(*.foo)
You can also use it with other commands, such as rm, cp, etc.