title: Guard running only the first watcher that matches
body: <p>Is there a way to prevent Guard to run all the watchers that match a file structure but only the first one?</p>
  
  <p>I basically need to instantiate a different object if the file copied in my root folder has a specific structure or not. For instance, if the file name matches <code>\d{2}-\d{6}_\d{5}_\d+_\d+.csv</code> I need to instances object A while for all the other <code>.cvs</code> files object B.</p>
  
  <p>As first attempt I was trying to use negative lookbehind but due to lookbehind limitations it looks like I cannot do that.
  So, now I'm trying to force Guard to execute only the first watcher that matches.</p>
  
  <p>My Guardfile looks like</p>
  
  <pre><code>guard :my_csv_files do
    watch(%r{^\d{2}-\d{6}_\d{5}_\d+_\d+.csv$})
  end
  
  guard :others_csv_files do
     watch(%r{^.+.csv$})
  end
  </code></pre>
  
  <p>Thanks</p>