title: Negative Lookahead pattern which matches no matter where it is in a string
body: <p>This is linked to <a href="https://stackoverflow.com/q/16809700/1197747">Ignoring case for a whole pattern of strings</a> but it is a different question.</p>
  
  <p>I was wondering if there was anyway to ignore the beginning of a string or if a Negative Lookahead only works from left too right and needs a starting point? Every thing I have tried seems to always find a match.</p>
  
  <p>The current pattern I am using is </p>
  
  <pre><code>(?i)^(?!pack ?station|paket ?station).*$
  </code></pre>
  
  <p>This works fine for "packstation foo bar", but if I want to match "foo packstation bar" then it does not work.</p>
  
  <p>The string can only be a max of 26 characters and if it contains the strings below then I would like to match it.</p>
  
  <ul>
  <li>packstation - ( packstation | Packstation | PACKSTATION )</li>
  <li>pack station - ( pack station | Pack station | pack Station | Pack Station | PACK STATION )</li>
  <li>paketstation - ( paketstation | Paketstation | PAKETSTATION )</li>
  <li>paket station - ( paket station | Paket station| paket Station| Paket Station | PAKET STATION )</li>
  </ul>