title: Split String with regex \w \w*? \w+?
body: <p>I'm learning regexp and thought I was starting to get a grip. but then...</p>
  
  <p>I tried to split a string and I need help to understand such a simple thing as:</p>
  
  <pre><code>String input = "abcde";
  System.out.println("[a-z] " + Arrays.toString(input.split("[a-z]")));
  System.out.println("\\w " + Arrays.toString(input.split("\\w")));
  System.out.println("\\w*? " + Arrays.toString(input.split("\\w*?")));
  System.out.println("\\w+? " + Arrays.toString(input.split("\\w+?")));
  
  The output is
  [a-z] - []
  \w    - []
  \w*?  - [, a, b, c, d, e]
  \w+?  - []
  </code></pre>
  
  <p>Why doesn't any of the two first lines split the String on any character?
  The third expression \w*?, (question mark prevents greediness) works as I expected, splitting the String on every character. The star, zero or more matches, returns an empty array.</p>
  
  <p>I've tried the expression within NotePad++ and in a program and it shows 5 matches as in:</p>
  
  <pre><code>Scanner ls = new Scanner(input);
  while(ls.hasNext())
      System.out.format("%s ", ls.findInLine("\\w");
  
  Output is: a b c d e
  </code></pre>
  
  <p>This really puzzles me</p>