import java.util.*;
import java.util.regex.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String line
= "One,Two,Three,Four"; String regexp
= "(?<delim>[^\\w\n\"']|^)(?<space> ?)(?:(?<quote>[\"']).*?\\k<quote>|[^\\s,]+)(?=\\k<delim>?)"; Pattern pattern = Pattern.compile(regexp);
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
System.
out.
println("Match value: " + matcher.
group()); System.
out.
println("Delim: " + matcher.
group("delim")); System.
out.
println("Quote: " + matcher.
group("quote")); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIGxpbmUgPSAiT25lLFR3byxUaHJlZSxGb3VyIjsKCQlTdHJpbmcgcmVnZXhwID0gIig/PGRlbGltPlteXFx3XG5cIiddfF4pKD88c3BhY2U+ID8pKD86KD88cXVvdGU+W1wiJ10pLio/XFxrPHF1b3RlPnxbXlxccyxdKykoPz1cXGs8ZGVsaW0+PykiOwoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleHApOwoJCU1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihsaW5lKTsKCSAgICB3aGlsZSAobWF0Y2hlci5maW5kKCkpIHsKCSAgICAJU3lzdGVtLm91dC5wcmludGxuKCJNYXRjaCB2YWx1ZTogIiArIG1hdGNoZXIuZ3JvdXAoKSk7CgkgICAgCVN5c3RlbS5vdXQucHJpbnRsbigiRGVsaW06ICIgKyBtYXRjaGVyLmdyb3VwKCJkZWxpbSIpKTsKCQkgICAgU3lzdGVtLm91dC5wcmludGxuKCJRdW90ZTogIiArIG1hdGNoZXIuZ3JvdXAoInF1b3RlIikpOwoJCSAgfQoJfQp9
Match value: One
Delim:
Quote: null
Match value: ,Two
Delim: ,
Quote: null
Match value: ,Three
Delim: ,
Quote: null
Match value: ,Four
Delim: ,
Quote: null
Java HotSpot(TM) Client VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes