title: Why doesn't this simple regex match what I think it should?
body: <p>I have a data file that looks like the following example. I've added '%' in lieu of <code>\t</code>, the tab control character.</p>
  
  <pre><code>1234:56%  Alice Worthington
  alicew%   Jan 1, 2010 10:20:30 AM%  Closed%   Development
  Digg:
  Reddit:
  Update%%  file-one.txt%   1.1%      c:/foo/bar/quux
  Add%%     file-two.txt%   2.5.2%    c:/foo/bar/quux
  Remove%%  file-three.txt% 3.4%      c:/bar/quux
  Update%%  file-four.txt%  4.6.5.3%  c:/zzz
  
  ... many more records of the above form
  </code></pre>
  
  <p>The records I'm interested in are the lines beginning with "Update", "Add", "Remove", and so on. I won't know what the lines begin with ahead of time, or how many lines precede them. I do know that they always begin with a string of letters followed by two tabs. So I wrote this regex:</p>
  
  <pre><code>generate-report-for 1234:56 | egrep "^[[:alpha:]]+\t\t.+"
  </code></pre>
  
  <p>But this matches zero lines. Where did I go wrong?</p>
  
  <p><strong>Edit:</strong> I get the same results whether I use <code>'...'</code> or <code>"..."</code> for the <code>egrep</code> expression, so I'm not sure it's a shell thing.</p>