import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(^## assemble\\/assemble-boilerplate-markdown starts)([\\s\\S]*?)(^## assemble\\/assemble-boilerplate-markdown ends)";
final String string = "## assemble/assemble-boilerplate-markdown starts\n\n"
+ "## assemble/assemble-boilerplate-markdown ends\n\n\n"
+ "## assemble/assemble-boilerplate-markdown starts \n\n"
+ "/assemble-boilerplate-markdown/src/content/TOC\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/auto-links\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/autolink-lines\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/backslash-escapes\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/blockquote-list-item\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/blockquotes-with-code-blocks\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/case-insensitive-refs\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/code-blocks\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/code-spans\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/def-blocks\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/double-link\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/escaped-angles\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-break\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-code-hr-list\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-code\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-del\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-em\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-links\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/gfm-tables\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/hard-wrapped-paragraphs-with-list-like-lines\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/horizontal-rules\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/hr-list-break\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/inline-html-advanced\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/inline-html-comments\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/inline-html-simple\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/lazy-blockquotes\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/links-inline-style\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/links-reference-style\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/links-shortcut-references\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/list-item-text\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/literal-quotes-in-titles\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/loose-lists\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/main\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/markdown-documentation-basics\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/markdown-documentation-syntax\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/nested-blockquotes\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/nested-code\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/nested-em\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/nested-square-link\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/not-a-link\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/ordered-and-unordered-lists\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/same-bullet\n"
+ "/assemble-boilerplate-markdown/src/content/markdown/strong-and-em-together\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/data-context\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/data-types\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/data-yaml-front-matter\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/data-yaml\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/data\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-assets\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-collections\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-data\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-engine\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-ext\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-helpers\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-layout\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-layoutdir\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options-partials\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/options\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/templates-helpers\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/templates-layouts\n"
+ "/assemble-boilerplate-markdown/src/content/wiki/templates-partials\n\n"
+ "## assemble/assemble-boilerplate-markdown ends";
final String subst = "xxx";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
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