/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String block
= "\\w+\\(\\?*\\w+(?:,\\?*\\w+)?\\)"; String pat
= "(" + block
+ ")(," + block
+ ")*"; List
<String
> strs
= Arrays.
asList("a(b)",
"a(?v)",
"a(b),c(?c,a)"); Matcher m = Pattern.compile(pat).matcher(str);
while (m.find()) {
System.
out.
println(m.
group(0)); }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgYmxvY2sgPSAiXFx3K1xcKFxcPypcXHcrKD86LFxcPypcXHcrKT9cXCkiOwoJCVN0cmluZyBwYXQgPSAiKCIgKyBibG9jayArICIpKCwiICsgYmxvY2sgKyAiKSoiOwoJCUxpc3Q8U3RyaW5nPiBzdHJzID0gQXJyYXlzLmFzTGlzdCgiYShiKSIsICJhKD92KSIsICJhKGIpLGMoP2MsYSkiKTsKCQlmb3IgKFN0cmluZyBzdHIgOiBzdHJzKSB7CgkJCU1hdGNoZXIgbSA9IFBhdHRlcm4uY29tcGlsZShwYXQpLm1hdGNoZXIoc3RyKTsKCQkJd2hpbGUgKG0uZmluZCgpKSB7CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4obS5ncm91cCgwKSk7CgkJCX0KCQl9Cgl9Cn0=