title: why does this grep command have no output?
body: <p>If I use a grep command like this <code>ls | grep '^[-[:alnum:]\._]+$'</code> to match filenames, it outputs no result but when the command changes to <code>ls | grep '^[-[:alnum:]\._]*$'</code>, it works correctly. What's going on?</p>