title: What does the regex [^\s]*? mean?
body: <p>I am starting to learn python spider to download some pictures on the web and I found the code as follows. I know some basic regex.
  I knew <code>\.jpg</code> means <code>.jpg</code> and <code>|</code> means <code>or</code>. what's the meaning of <code>[^\s]*?</code> of the first line?  I am wondering why using <code>\s</code>? 
  And what's the difference between the two regexes?</p>
  
  <pre><code>http:[^\s]*?(\.jpg|\.png|\.gif)
  http://.*?(\.jpg|\.png|\.gif)
  </code></pre>