/* 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
= "(\\w+)=((?:<!\\[CDATA\\[.*?]]>|[^;])+)"; String s
= "prop1=value1;prop2=<![CDATA[String test='1234';int i=4;]]>;prop3=value3"; Pattern pattern = Pattern.compile(rx);
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
System.
out.
println(matcher.
group(1) + " => " + matcher.
group(2)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcnggPSAiKFxcdyspPSgoPzo8IVxcW0NEQVRBXFxbLio/XV0+fFteO10pKykiOwoJCVN0cmluZyBzID0gInByb3AxPXZhbHVlMTtwcm9wMj08IVtDREFUQVtTdHJpbmcgdGVzdD0nMTIzNCc7aW50IGk9NDtdXT47cHJvcDM9dmFsdWUzIjsKCQlQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUocngpOwoJCU1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihzKTsKCQl3aGlsZSAobWF0Y2hlci5maW5kKCkpIHsKCQkgICAgU3lzdGVtLm91dC5wcmludGxuKG1hdGNoZXIuZ3JvdXAoMSkgKyAiID0+ICIgKyBtYXRjaGVyLmdyb3VwKDIpKTsKCQl9Cgl9Cn0=