title: Within vim's regex engine, why are some metacharacters escaped and some are not?
body: <p>Why do you have to escape some metacharacters in their regex engine, but not others? For example:  </p>
  
  <pre><code>/foo[1-9]*  
  </code></pre>
  
  <p>works as expected, but the regular expression</p>
  
  <pre><code>foo[1-9]+  
  </code></pre>
  
  <p>must be expressed as  </p>
  
  <pre><code>/foo[1-9]\+  
  </code></pre>
  
  <p>in vim. Anybody know?</p>