/* 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 s
= "text... {#my.key|other_stuff} {#my.key|new\nstuff} more\ntext"; Pattern pattern = Pattern.compile("\\{(#" + Pattern.quote(key) + ")\\|([^}]*)}");
Matcher m = pattern.matcher(s);
while (m.find()) {
System.
out.
println("--- Match found ---"); System.
out.
println(m.
group(0)); System.
out.
println(m.
group(1)); System.
out.
println(m.
group(2)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcga2V5ID0gIm15LmtleSI7CgkJU3RyaW5nIHMgPSAidGV4dC4uLiAgICAgeyNteS5rZXl8b3RoZXJfc3R1ZmZ9ICB7I215LmtleXxuZXdcbnN0dWZmfSAgbW9yZVxudGV4dCI7CgkJUGF0dGVybiBwYXR0ZXJuID0gUGF0dGVybi5jb21waWxlKCJcXHsoIyIgKyBQYXR0ZXJuLnF1b3RlKGtleSkgKyAiKVxcfChbXn1dKil9Iik7CgkgICAgTWF0Y2hlciBtID0gcGF0dGVybi5tYXRjaGVyKHMpOwoJICAgIHdoaWxlIChtLmZpbmQoKSkgewoJICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oIi0tLSBNYXRjaCBmb3VuZCAtLS0iKTsKCSAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG0uZ3JvdXAoMCkpOwoJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4obS5ncm91cCgxKSk7CgkgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtLmdyb3VwKDIpKTsKCSAgICB9Cgl9Cn0=