import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<!\\[CDATA\\[(.*|\\n|.*\\n.*)&#x.....;(.*|\\n|.*\\n.*)]]";
final String string = "\n"
+ "<journal-meta>\n"
+ "<issn>Modern data <![CDATA[ data is <>?\":{}|\\][;'.\n"
+ "/, ']]> is needed with dummy content. we are good to go.</issn>\n"
+ "<issn>Modern data <![CDATA[ data is not proper ' sdgfs ]]> is needed with dummy content. we are good to go.</issn>\n"
+ "<issn>Modern data <![CDATA[ \n"
+ "data is not proper ']]> is needed with dummy content. ' we are good to go.</issn>\n\n"
+ "<issn>Modern data <![CDATA[\n"
+ "']]> is needed with dummy content. we are good to go.</issn>\n\n"
+ "<issn2><![CDATA[é]]>Modern data is needed with dummy content. we are good to go.</issn2>\n"
+ "<issn3><![CDATA[']]>Modern data is needed with dummy content. we are good to go.</issn3>\n"
+ "<issn4><![CDATA[&]]>Modern data is needed with dummy content. we are good to go.</issn4>\n"
+ "<issn5><![CDATA[–]]>Modern data is needed with dummy content. we are good to go.</issn5>\n"
+ "</journal-meta>";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html