title: How is Guava Splitter.onPattern(..).split() different from String.split(..)?
body: <p>I recently harnessed the power of a <em>look-ahead regular expression</em> to split a String:</p>
  
  <pre><code>"abc8".split("(?=\\d)|\\W")
  </code></pre>
  
  <p>If printed to the console this expression returns:</p>
  
  <pre><code>[abc, 8]
  </code></pre>
  
  <p>Very pleased with this result, I wanted to transfer this to Guava for further development, which looked like this:</p>
  
  <pre><code>Splitter.onPattern("(?=\\d)|\\W").split("abc8")
  </code></pre>
  
  <p>To my surprise the output changed to:</p>
  
  <pre><code>[abc]
  </code></pre>
  
  <p>Why?</p>