title: Negating whitespace regex in character class
body: <p>What's the best way to capture all content in a line up to the whitespace. For example, from this:</p>
  
  <pre><code>&gt;Peak_7847       Chr1    23988535_23998535
  </code></pre>
  
  <p>I would like to capture</p>
  
  <pre><code>Peak_7847
  </code></pre>
  
  <p>I tried:</p>
  
  <pre><code>sed -e 's/^&gt;\([^\s]\+\)\s.*$/\1/'
  </code></pre>
  
  <p>(which doesn't work, and captures the whole line after the <code>&gt;</code>). If I replace <code>\s</code> with
  " \t", it works:</p>
  
  <pre><code>sed -e 's/^&gt;\([^ \t]\+\)\s.*$/\1/'
  Peak_7847
  </code></pre>
  
  <p>How can I negate the <code>\s</code> operator?</p>
  
  <p>Thanks!</p>