/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.stream.Collectors;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
SortedMap
<String, String
> map
= new TreeMap
<String, String
>(); map.put("test", "REPLACE");
String update
= Arrays.
stream("$(test) (test) (test2)".
split("\\$\\((?=[^)]*\\))|(?<=\\$\\([^(]{0,1000})\\)")) .map(token -> map.getOrDefault(token, token))
.collect(Collectors.joining(""));
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7Ci8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU29ydGVkTWFwPFN0cmluZywgU3RyaW5nPiBtYXAgPSBuZXcgVHJlZU1hcDxTdHJpbmcsIFN0cmluZz4oKTsKCQltYXAucHV0KCJ0ZXN0IiwgIlJFUExBQ0UiKTsKCQlTdHJpbmcgdXBkYXRlID0gQXJyYXlzLnN0cmVhbSgiJCh0ZXN0KSAodGVzdCkgICAgICAodGVzdDIpIi5zcGxpdCgiXFwkXFwoKD89W14pXSpcXCkpfCg/PD1cXCRcXChbXihdezAsMTAwMH0pXFwpIikpCgkJLm1hcCh0b2tlbiAtPiBtYXAuZ2V0T3JEZWZhdWx0KHRva2VuLCB0b2tlbikpCgkJLmNvbGxlY3QoQ29sbGVjdG9ycy5qb2luaW5nKCIiKSk7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKHVwZGF0ZSk7Cgl9Cn0=