/* 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[] lst
= new String[] {"John Smith",
"John Smith (123)",
"John Smith (123) (456)"}; Pattern p = Pattern.compile("(.+?)(?:\\s\\((\\d+)\\))?");
System.
out.
println("--- Next string ---"); Matcher m = p.matcher(s);
if (m.matches()) {
System.
out.
println(m.
group(1)); if (m.group(2) != null)
System.
out.
println(m.
group(2)); }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmdbXSBsc3QgPSBuZXcgU3RyaW5nW10geyJKb2huIFNtaXRoIiwiSm9obiBTbWl0aCAoMTIzKSIsIkpvaG4gU21pdGggKDEyMykgKDQ1NikifTsKCQlQYXR0ZXJuIHAgPSBQYXR0ZXJuLmNvbXBpbGUoIiguKz8pKD86XFxzXFwoKFxcZCspXFwpKT8iKTsKCQlmb3IgKFN0cmluZyBzOiBsc3QpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCItLS0gTmV4dCBzdHJpbmcgLS0tIik7CgkJCU1hdGNoZXIgbSA9IHAubWF0Y2hlcihzKTsKICAgIAkJaWYgKG0ubWF0Y2hlcygpKSB7CiAgICAgIAkJCVN5c3RlbS5vdXQucHJpbnRsbihtLmdyb3VwKDEpKTsKICAgICAgCQkJaWYgKG0uZ3JvdXAoMikgIT0gbnVsbCkKICAgICAgCQkJCVN5c3RlbS5vdXQucHJpbnRsbihtLmdyb3VwKDIpKTsKICAgIAkJfQoJCX0KCX0KfQ==