/* 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 rx
= "[\\(]?\\d{3}[\\)]?([-.]?)\\s*\\d{3}\\1\\s*\\d{4}"; System.
out.
println(getMatch
("(123).123.1234", rx
)); System.
out.
println(getMatch
("1234567890", rx
)); System.
out.
println(getMatch
("(123)1231234", rx
)); System.
out.
println(getMatch
("(123)-456-7890", rx
)); System.
out.
println(getMatch
("(123) 123 1234", rx
)); System.
out.
println(getMatch
("123 123 1234", rx
)); System.
out.
println(getMatch
("(123). 456. 7890", rx
)); System.
out.
println(getMatch
("(123)- 456- 7890", rx
)); // FALSE
System.
out.
println(getMatch
("123.123-1234", rx
)); System.
out.
println(getMatch
("(123)-123.1234", rx
)); System.
out.
println(getMatch
("123. 123- 1234 ", rx
)); }
{
Pattern ptrn = Pattern.compile(pattern);
Matcher m = ptrn.matcher(str);
if (m.find()) {
return m.group();
}
else {
return "";
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcnggPSAiW1xcKF0/XFxkezN9W1xcKV0/KFstLl0/KVxccypcXGR7M31cXDFcXHMqXFxkezR9IjsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIigxMjMpLjEyMy4xMjM0IiwgcngpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIjEyMzQ1Njc4OTAiLCByeCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihnZXRNYXRjaCgiKDEyMykxMjMxMjM0IiwgcngpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIigxMjMpLTQ1Ni03ODkwIiwgcngpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIigxMjMpIDEyMyAxMjM0IiwgcngpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIjEyMyAgIDEyMyAgICAxMjM0IiwgcngpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIigxMjMpLiA0NTYuIDc4OTAiLCByeCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihnZXRNYXRjaCgiKDEyMyktIDQ1Ni0gNzg5MCIsIHJ4KSk7CgkJLy8gRkFMU0UKCQlTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TWF0Y2goIjEyMy4xMjMtMTIzNCIsIHJ4KSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGdldE1hdGNoKCIoMTIzKS0xMjMuMTIzNCIsIHJ4KSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGdldE1hdGNoKCIxMjMuICAxMjMtICAxMjM0ICIsIHJ4KSk7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIFN0cmluZyBnZXRNYXRjaChTdHJpbmcgc3RyLCBTdHJpbmcgcGF0dGVybikKICAgIHsKICAgICAgICBQYXR0ZXJuIHB0cm4gPSBQYXR0ZXJuLmNvbXBpbGUocGF0dGVybik7CiAgICAgICAgTWF0Y2hlciBtID0gcHRybi5tYXRjaGVyKHN0cik7CiAgICAgICAgaWYgKG0uZmluZCgpKSB7CiAgICAgICAgICAgcmV0dXJuIG0uZ3JvdXAoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgcmV0dXJuICIiOwogICAgICAgIH0KICAgIH0KfQ==