POSIX
find with its -type f, -name, -o and -a seems the right tool. GNU find with its extensions like -maxdepth 1 and (if really needed) -regex seems even better (although probably not necessary). Is grep a must?