title: String a[] = s.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)"); in java
body: <p>I am confuse in the logic behind the code <code>(?&lt;=\\D)(?=\\d)|(?&lt;=\\d)(?=\\D)")</code>
  it is separating numbers and alphabets like input String <code>abc12dc23</code> then it  is spliting it as output <code>abc 12 dc 23</code>.</p>
  
  <p>I just want the explanation how the above code is working?</p>