import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
{
String input
= "Москва [Мск, Белокаменная] {msk.com}, Санкт-Петербург [Спб, Питер], Ростов, Калининград [Кёниг] {123.com}\nРостов {123.com}"; Pattern pattern = Pattern.compile("(?U)(\\w+(?:-\\w+)*)(?:\\s*(?:\\[([^\\]\\[]*)]))?(?:,?\\s*\\{([^{}]*)\\})?");
Matcher matcher = pattern.matcher(input);
while (matcher.find()){
System.
out.
println("-------------\nСовпадение: " + matcher.
group()); System.
out.
println("Подмаска №1: " + matcher.
group(1)); if (matcher.group(2) != null) {
System.
out.
println("Подмаска №2: " + matcher.
group(2)); }
if (matcher.group(3) != null) {
System.
out.
println("Подмаска №3: " + matcher.
group(3)); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgaW5wdXQgPSAi0JzQvtGB0LrQstCwIFvQnNGB0LosINCR0LXQu9C+0LrQsNC80LXQvdC90LDRj10ge21zay5jb219LCDQodCw0L3QutGCLdCf0LXRgtC10YDQsdGD0YDQsyBb0KHQv9CxLCDQn9C40YLQtdGAXSwg0KDQvtGB0YLQvtCyLCDQmtCw0LvQuNC90LjQvdCz0YDQsNC0IFvQmtGR0L3QuNCzXSB7MTIzLmNvbX1cbtCg0L7RgdGC0L7QsiB7MTIzLmNvbX0iOwoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZSgiKD9VKShcXHcrKD86LVxcdyspKikoPzpcXHMqKD86XFxbKFteXFxdXFxbXSopXSkpPyg/Oiw/XFxzKlxceyhbXnt9XSopXFx9KT8iKTsKCQlNYXRjaGVyIG1hdGNoZXIgPSBwYXR0ZXJuLm1hdGNoZXIoaW5wdXQpOwoJCXdoaWxlIChtYXRjaGVyLmZpbmQoKSl7CgkJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLVxu0KHQvtCy0L/QsNC00LXQvdC40LU6ICIgKyBtYXRjaGVyLmdyb3VwKCkpOwoJCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCf0L7QtNC80LDRgdC60LAg4oSWMTogIiArIG1hdGNoZXIuZ3JvdXAoMSkpOwoJCSAgICBpZiAobWF0Y2hlci5ncm91cCgyKSAhPSBudWxsKSB7CgkJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCf0L7QtNC80LDRgdC60LAg4oSWMjogIiArIG1hdGNoZXIuZ3JvdXAoMikpOyAKCQkgICAgfQoJCSAgICBpZiAobWF0Y2hlci5ncm91cCgzKSAhPSBudWxsKSB7CgkJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCf0L7QtNC80LDRgdC60LAg4oSWMzogIiArIG1hdGNoZXIuZ3JvdXAoMykpOyAKCQkgICAgfQoJCX0gCgl9Cn0=