title: Vim Regex : How to search for A AND B NOT C
body: <p>I have many lines containing the names of US Presidents Carter, Bush, Clinton, Obama. Some contain 1 of those names, some 2, some 3, some all 4 of them (in any order).</p>
  
  <p>I know how to search for Carter AND Clinton AND Obama -></p>
  
  <pre><code>:g/.*Carter\&amp;.*Clinton\&amp;.*Obama/p
  </code></pre>
  
  <p>I know how to search for Carter AND (Clinton OR Bush) -></p>
  
  <pre><code>:g/.*Carter\&amp;\(.*Clinton\|.*Bush\)/p
  </code></pre>
  
  <p>(There are most certainly better ways to do that)</p>
  
  <p>But I can't figure how to search (and I looked at the related questions), e.g., for Bush AND Clinton NOT Carter and even less how to search, e.g., for Bush AND Clinton NOT (Carter OR Obama).</p>