title: why doesn't grep work in this pattern with colon?
body: <p>I know a colon : should be literal, so I'm not clear why a grep matches all lines. Here's a file called "test":</p>
  
  <pre><code>cat test
  123|4444
  4546|4444
  666666|5678
  7777777|7890675::1
  </code></pre>
  
  <p>I need to match the line with ::1. Of course, the real case is more complicated, so I can't simply search for "::1". I tried many iterations, like</p>
  
  <pre><code>grep -E '^[0-9]|[0-9]:' test
  grep -E '^[0-9]|[0-9]::1' test
  </code></pre>
  
  <p>but they return all lines:</p>
  
  <pre><code>123|4444
  4546|4444
  666666|5678
  7777777|7890675::1
  </code></pre>
  
  <p>I am expecting to match just the last line. Any idea why that is??</p>
  
  <p>This is GNU/Linux bash. Thank you! </p>