fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. int cnt = 0;
  13. String str = "This is \"a string\" and this is \"a \\\"nested\\\" string\"";
  14. Pattern ptrn = Pattern.compile("\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|\\S+");
  15. Matcher matcher = ptrn.matcher(str);
  16. while (matcher.find()) {
  17. cnt++;
  18. }
  19. System.out.println(cnt);
  20. String[] result = new String[cnt];
  21. matcher.reset();
  22. int idx = 0;
  23. while (matcher.find()) {
  24. result[idx] = matcher.group(0);
  25. idx++;
  26. }
  27. System.out.println(Arrays.toString(result));
  28. }
  29. }
Success #stdin #stdout 0.12s 320576KB
stdin
Standard input is empty
stdout
7
[This, is, "a string", and, this, is, "a \"nested\" string"]