import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<{7}[ ]HEAD[\\r\\n]{1,2}([\\S\\s]*?)(?:={7}[\\r\\n]{1,2}((?:[\\S\\s]?(?!(>{7}[ ][a-z0-9]{40})))*[\\r\\n]?)(?:>{7}[ ][a-z0-9]{40}[\\r\\n]{0,2})?)";
final String string = "<<<<<<< HEAD\n"
+ " Release.AspNetCompiler.VirtualPath = \"/agsdasgd\"\n"
+ " Release.AspNetCompiler.PhysicalPath = \"Server\\PATH\\afgdafgd\\\"\n"
+ " Release.AspNetCompiler.TargetPath = \"PrePATH\\to\\PATH\\afgdafdgPATH\\\"\n"
+ "=======\n"
+ " Release.AspNetCompiler.VirtualPath = \"/afdgafdPATH\"\n"
+ " Release.AspNetCompiler.PhysicalPath = \"PATH\\PATH\\PATH\\\"\n"
+ " Release.AspNetCompiler.TargetPath = \"PATHYPATH\\afdgadfg\\\"\n"
+ ">>>>>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
+ "afds\n"
+ "fgds\n"
+ "testing\n"
+ "<<<<<<< HEAD\n"
+ "kljasdfasfd\n"
+ "sadfkljasdf\n"
+ "kdjsfla\n"
+ "k\n"
+ "afjdsl\n"
+ "asfdkljafsdk\n"
+ "jlfsadkj\n"
+ "lasfdk\n"
+ "jl\n"
+ "=======\n"
+ "fadsjkl\n"
+ "fdaskj\n"
+ "lfdas\n"
+ "jklfadsk\n"
+ "ljafdsjkl\n"
+ "fadsk\n"
+ "ljafdsk\n"
+ "jlafdskj\n"
+ "ladfs\n"
+ "kjlfdask\n"
+ "ljfadskj\n"
+ "ladfsk\n"
+ "jl\n"
+ ">>>>>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
+ "fds\n"
+ "fads\n"
+ "afds\n"
+ "fads\n";
final Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
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