import java.util.regex.*;
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
System.
out.
println(parseToMap
("Artist: foo Title: bar Dimensions: x Framed dimensions: y"));
}
String DESCRIPTION_DELIMITER
= "[Aa]rtist:|[Tt]itle:|[Ff]ramed [Dd]imensions:|[Dd]imensions:"; Map
<String, String
> itemMap
= new LinkedHashMap
<>(); Pattern p = Pattern.compile("(" + DESCRIPTION_DELIMITER + ")((?:(?!" + DESCRIPTION_DELIMITER + ").)*)"); //split to key/val pair
Matcher m = p.matcher(str);
while(m.find()) {
itemMap.put(m.group(1).trim(), m.group(2).trim());
}
return itemMap;
}
}
aW1wb3J0IGphdmEudXRpbC5yZWdleC4qOwppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTeXN0ZW0ub3V0LnByaW50bG4ocGFyc2VUb01hcCgiQXJ0aXN0OiBmb28gVGl0bGU6IGJhciBEaW1lbnNpb25zOiB4IEZyYW1lZCBkaW1lbnNpb25zOiB5IikpOwoKCX0KCXB1YmxpYyBzdGF0aWMgTWFwPFN0cmluZywgU3RyaW5nPiBwYXJzZVRvTWFwKFN0cmluZyBzdHIpIHsKCQlTdHJpbmcgREVTQ1JJUFRJT05fREVMSU1JVEVSID0gIltBYV1ydGlzdDp8W1R0XWl0bGU6fFtGZl1yYW1lZCBbRGRdaW1lbnNpb25zOnxbRGRdaW1lbnNpb25zOiI7CgkJTWFwPFN0cmluZywgU3RyaW5nPiBpdGVtTWFwID0gbmV3IExpbmtlZEhhc2hNYXA8PigpOwoJCVBhdHRlcm4gcCA9IFBhdHRlcm4uY29tcGlsZSgiKCIgKyBERVNDUklQVElPTl9ERUxJTUlURVIgKyAiKSgoPzooPyEiICsgREVTQ1JJUFRJT05fREVMSU1JVEVSICsgIikuKSopIik7IC8vc3BsaXQgdG8ga2V5L3ZhbCBwYWlyCgkJTWF0Y2hlciBtID0gcC5tYXRjaGVyKHN0cik7CgkJd2hpbGUobS5maW5kKCkpIHsKCQkJaXRlbU1hcC5wdXQobS5ncm91cCgxKS50cmltKCksIG0uZ3JvdXAoMikudHJpbSgpKTsKCQl9CgkgICAgcmV0dXJuIGl0ZW1NYXA7Cgl9Cgp9