fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String rx = "(\\w+)=((?:<!\\[CDATA\\[.*?]]>|[^;])+)";
  13. String s = "prop1=value1;prop2=<![CDATA[String test='1234';int i=4;]]>;prop3=value3";
  14. Pattern pattern = Pattern.compile(rx);
  15. Matcher matcher = pattern.matcher(s);
  16. while (matcher.find()) {
  17. System.out.println(matcher.group(1) + " => " + matcher.group(2));
  18. }
  19. }
  20. }
Success #stdin #stdout 0.06s 27960KB
stdin
Standard input is empty
stdout
prop1 => value1
prop2 => <![CDATA[String test='1234';int i=4;]]>
prop3 => value3