import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?s)(?<=start).*?(?=end)";
final String string = "Match all characters between two strings with dotall mode to match across line breaks\n\n"
+ "Duis sem mi, rhoncus ut enim quis, ultricies posuere libero.\n"
+ "Etiam et euismod dolor, at ornare lorem.\n"
+ "Praesent iaculis pellentesque felis, sit amet interdum ex ultricies id.\n"
+ "Nam eu mattis nisi.\n"
+ "Sed et odio risus.\n"
+ "Proin fermentum in justo non consequat.\n"
+ "Pellentesque pellentesque augue sed erat porta gravida.\n"
+ "In a magna at metus suscipit sodales non eget massa.\n"
+ "Maecenas eu turpis non nisl semper ultricies.\n"
+ "Duis rhoncus imperdiet sapien, vitae posuere erat tempor id.\n"
+ "Vestibulum in enim fermentum purus tempor maximus tempus quis ex.\n"
+ "Maecenas vitae felis ac elit semper blandit.\n"
+ "Suspendisse neque eros, vestibulum nec ultrices at, sagittis eget ex.\n"
+ "Aenean feugiat libero nunc, sit amet commodo turpis tristique luctus.\n"
+ "Sed sodales diam at urna viverra, nec ultrices enim imperdiet.\n"
+ "startLorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
+ "Nulla velit diam, vehicula eget nunc at, aliquet mattis velit.\n"
+ "Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n"
+ "Nam quis sollicitudin augue.\n"
+ "Maecenas a auctor nibh.\n"
+ "Pellentesque aliquam nulla sit amet posuere laoreet.\n"
+ "Nunc lorem massa, vehicula ac vehicula ac, varius vel est.\n"
+ "Proin sed mattis dolor.\n"
+ "Cras quis enim non nisl ultrices rhoncus in ut nisl.\n"
+ "endCurabitur venenatis ullamcorper ullamcorper.\n"
+ "Praesent in mi non mi bibendum lobortis at vel est.\n"
+ "Mauris luctus varius justo, non rhoncus sem tristique quis.\n"
+ "Aenean ac metus commodo felis pharetra dapibus.\n"
+ "Integer hendrerit, enim ac varius sagittis, ipsum lacus euismod elit, sed sagittis tortor purus nec sapien.\n"
+ "Morbi luctus risus quam, nec imperdiet nibh pulvinar id.\n"
+ "Pellentesque pretium posuere ligula, id ullamcorper sapien placerat at.\n"
+ "Nulla mattis tristique nisi id ornare.\n"
+ "Cras at orci magna.\n"
+ "Praesent interdum id est vitae feugiat.\n"
+ "Praesent vulputate, tortor at eleifend venenatis, leo turpis malesuada mauris, non lobortis urna velit fringilla lacus.";
final Pattern pattern = Pattern.compile(regex, Pattern.UNICODE_CASE | Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
while (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