fork download
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  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 regex = "(?s)(my_folder/(?:[^/\\n]+/)*[^/\\n]+\\.xml)::(?!.*\\1)";
  13. String string = " my_folder/foo.xml::someextracontent\n"
  14. + " my_folder/foo.xml::someextracontent\n"
  15. + " another_folder/foo.xml::someextracontent\n"
  16. + " my_folder/bar.xml::someextracontent\n"
  17. + " my_folder/bar.xml::someextracontent\n"
  18. + " my_folder/hello.xml::someextracontent\n\n\n"
  19. + "my_folder/test1/test2/bar.xml::someextracontent\n"
  20. + "my_folder/test1/test2/bar.xml::someextracontent";
  21.  
  22. Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
  23. Matcher matcher = pattern.matcher(string);
  24.  
  25. while (matcher.find()) {
  26. System.out.println(matcher.group(1));
  27. }
  28. }
  29. }
Success #stdin #stdout 0.06s 2184192KB
stdin
Standard input is empty
stdout
my_folder/foo.xml
my_folder/bar.xml
my_folder/hello.xml
my_folder/test1/test2/bar.xml