title: Why is the input not split at start of input when regex is blank
body: <p>I found a neat way to extract all characters (as Strings) of a string:</p>
  
  <pre><code>String[] chars = "abc".split(""); // "a", "b", "c"
  </code></pre>
  
  <p>I expected to get a blank first term, but to my surprise it <em>didn't</em> split at start of input, even though a blank matches at start of input - ie between <code>^</code> and <code>"a"</code>.</p>
  
  <p>Conversely, a non-blank regex <em>does</em> match at start:</p>
  
  <pre><code>String[] chars = ";a;b;c".split(";"); // "", "a", "b", "c"
  </code></pre>
  
  <p><strong>Why does a blank regex <em>not</em> split (ie match) at start of input?</strong></p>