title: Regex exact match of multiple strings within string
body: <p>I have an string of |DOGS|MAN|CAT| and I need to check that DOG and CAT exist in the string.</p>
  
  <p>The input string is always split between pipes.</p>
  
  <p>I have this at present:</p>
  
  <pre><code>((^|, )(?=.*\|DOG|\b.$)(?=.*\|CAT\b).*$)
  </code></pre>
  
  <p>This almost works, if my input string was |DOG|MAN|CAT| it is fine but as I have specified DOGS not DOG it should not match</p>