title: bracket expressions in grep patterns
body: <p>I'm a bit confused about how grep interprets bracket expressions (OSX 1.8).</p>
  
  <p>I have file with rows as follows:</p>
  
  <pre><code>1   foo 42.0
  2   bar 42.1
  20  foo 42.3
  </code></pre>
  
  <p>I want to write a regular expression that says: 'at the start of a line, match one or more digits then whitespace then the string foo'. So I try that:</p>
  
  <pre><code>cat foo | grep -e "^[0-9]+\sfoo"
  </code></pre>
  
  <p>But nothing is matched. Huh? What's going on here? I've dug around the documentation but I cannot seem to find any answer. The problem seems to be in my application of the 'one or more' character. </p>
  
  <p>Note that I cannot use Perl-style expressions as this feature seems to be gone from grep in OSX 10.8.</p>