/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String regex
= "(?:\"(?=.*\"$)|\\G(?!^))(~?@\\w+(?:,~?@\\w+)*)\"?[,\\h]?"; String string
= "\"@smoke\"\n" + "\"@smoke,@Functional1\"\n"
+ "\"@smoke,@Functional1,@Functional2\"\n"
+ "\"@smoke\",\"@Functional1\"\n"
+ "\"@smoke\",\"~@Functional1\"\n"
+ "\"~@smoke\",\"~@Functional1\"";
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.
out.
println(matcher.
group(1)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcmVnZXggPSAiKD86XCIoPz0uKlwiJCl8XFxHKD8hXikpKH4/QFxcdysoPzosfj9AXFx3KykqKVwiP1ssXFxoXT8iOwoJCVN0cmluZyBzdHJpbmcgPSAiXCJAc21va2VcIlxuIgoJCQkgKyAiXCJAc21va2UsQEZ1bmN0aW9uYWwxXCJcbiIKCQkJICsgIlwiQHNtb2tlLEBGdW5jdGlvbmFsMSxARnVuY3Rpb25hbDJcIlxuIgoJCQkgKyAiXCJAc21va2VcIixcIkBGdW5jdGlvbmFsMVwiXG4iCgkJCSArICJcIkBzbW9rZVwiLFwifkBGdW5jdGlvbmFsMVwiXG4iCgkJCSArICJcIn5Ac21va2VcIixcIn5ARnVuY3Rpb25hbDFcIiI7CgkJCgkJUGF0dGVybiBwYXR0ZXJuID0gUGF0dGVybi5jb21waWxlKHJlZ2V4LCBQYXR0ZXJuLk1VTFRJTElORSk7CgkJTWF0Y2hlciBtYXRjaGVyID0gcGF0dGVybi5tYXRjaGVyKHN0cmluZyk7CgkJCgkJd2hpbGUgKG1hdGNoZXIuZmluZCgpKSB7CgkJICAgIFN5c3RlbS5vdXQucHJpbnRsbihtYXRjaGVyLmdyb3VwKDEpKTsKCQl9Cgl9Cn0=