title: Regex expression that matches URLs if it contains one pattern but not another
body: <p>I need to create a regex pattern that will match against all urls that contain String1 but not String2.  The the problem is that a URL can contain both String1 and String2.  For example, if crawling an e-commerce site I want to collect the catalog pages without getting the product URLs.</p>
  
  <p>Example Catalog URL: <a href="http://www.domain.com/catalog/name" rel="nofollow">http://www.domain.com/catalog/name</a>  String1: catalog</p>
  
  <p>Example Product URL: <a href="http://www.domain.com/catalog/name/product/id" rel="nofollow">http://www.domain.com/catalog/name/product/id</a>  =>  String2: product</p>
  
  <p>Using the the sample URLs above, String1 is "catalog" and String2 is "product".  My current pattern to get the catalog URLs is <code>\/catalog(?:\/[\w-\/]*)?$</code></p>
  
  <p>How do I extend this pattern to skip all URLs with String2?</p>