title: Best way to match all patterns in a string?
body: <p>What would be the optimal way to match that all of a set of patterns exist within a given string. For example, assume I have a collection of many thousand strings of medium length (about 30-50 characters each). The user needs to be able to specify a set of patterns (not even patterns just a series of characters really) that each string will be evaluated for, the string must contain ALL the patterns specified.</p>
  
  <p>so assume the user wants to evaluate for the following patterns:</p>
  
  <pre><code>123
  xyz
  abc
  </code></pre>
  
  <p>a string like:</p>
  
  <pre><code>john_smith_123456_abcdef_9999_tuv 
  </code></pre>
  
  <p>would be false because it only contains 2 of the 3, while a string like:</p>
  
  <pre><code>jane_doe_abcdef_123_9999_tuvwxyz 
  </code></pre>
  
  <p>would be true as it contains all 3</p>
  
  <p>So first of all, regex or string.Contains()? Or is there a tradeof point where one performs better than the other? And second, assuming that regex is the way to go, what would be the optimal type of regex expression to use for this scenario?</p>
  
  <p>thanks a lot!</p>