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")); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIGxpbmUgPSAiXCJPbmVcIjsgXCJUd29cIjsgXCJUaHJlZVwiOyBcIkZvdXJcIiI7CgkJU3RyaW5nIHJlZ2V4cCA9ICIoPzxkZWxpbT5bXlxcd1xuXCInXXxeKSg/PHNwYWNlPiA/KSg/Oig/PHF1b3RlPltcIiddKS4qP1xcazxxdW90ZT58W15cXHMsXSspKD89XFxrPGRlbGltPj8pIjsKCQlQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUocmVnZXhwKTsKCQlNYXRjaGVyIG1hdGNoZXIgPSBwYXR0ZXJuLm1hdGNoZXIobGluZSk7CgkgICAgd2hpbGUgKG1hdGNoZXIuZmluZCgpKSB7CgkgICAgCVN5c3RlbS5vdXQucHJpbnRsbigiTWF0Y2ggdmFsdWU6ICIgKyBtYXRjaGVyLmdyb3VwKCkpOwoJICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oIkRlbGltOiAiICsgbWF0Y2hlci5ncm91cCgiZGVsaW0iKSk7CgkJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUXVvdGU6ICIgKyBtYXRjaGVyLmdyb3VwKCJxdW90ZSIpKTsKCQkgIH0KCX0KfQ==