// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"(?mi)(^## assemble\/assemble-boilerplate-markdown starts)([\s\S]*?)(^## assemble\/assemble-boilerplate-markdown ends)").unwrap();
let string = "## assemble/assemble-boilerplate-markdown starts
## assemble/assemble-boilerplate-markdown ends
## assemble/assemble-boilerplate-markdown starts
/assemble-boilerplate-markdown/src/content/TOC
/assemble-boilerplate-markdown/src/content/markdown/auto-links
/assemble-boilerplate-markdown/src/content/markdown/autolink-lines
/assemble-boilerplate-markdown/src/content/markdown/backslash-escapes
/assemble-boilerplate-markdown/src/content/markdown/blockquote-list-item
/assemble-boilerplate-markdown/src/content/markdown/blockquotes-with-code-blocks
/assemble-boilerplate-markdown/src/content/markdown/case-insensitive-refs
/assemble-boilerplate-markdown/src/content/markdown/code-blocks
/assemble-boilerplate-markdown/src/content/markdown/code-spans
/assemble-boilerplate-markdown/src/content/markdown/def-blocks
/assemble-boilerplate-markdown/src/content/markdown/double-link
/assemble-boilerplate-markdown/src/content/markdown/escaped-angles
/assemble-boilerplate-markdown/src/content/markdown/gfm-break
/assemble-boilerplate-markdown/src/content/markdown/gfm-code-hr-list
/assemble-boilerplate-markdown/src/content/markdown/gfm-code
/assemble-boilerplate-markdown/src/content/markdown/gfm-del
/assemble-boilerplate-markdown/src/content/markdown/gfm-em
/assemble-boilerplate-markdown/src/content/markdown/gfm-links
/assemble-boilerplate-markdown/src/content/markdown/gfm-tables
/assemble-boilerplate-markdown/src/content/markdown/hard-wrapped-paragraphs-with-list-like-lines
/assemble-boilerplate-markdown/src/content/markdown/horizontal-rules
/assemble-boilerplate-markdown/src/content/markdown/hr-list-break
/assemble-boilerplate-markdown/src/content/markdown/inline-html-advanced
/assemble-boilerplate-markdown/src/content/markdown/inline-html-comments
/assemble-boilerplate-markdown/src/content/markdown/inline-html-simple
/assemble-boilerplate-markdown/src/content/markdown/lazy-blockquotes
/assemble-boilerplate-markdown/src/content/markdown/links-inline-style
/assemble-boilerplate-markdown/src/content/markdown/links-reference-style
/assemble-boilerplate-markdown/src/content/markdown/links-shortcut-references
/assemble-boilerplate-markdown/src/content/markdown/list-item-text
/assemble-boilerplate-markdown/src/content/markdown/literal-quotes-in-titles
/assemble-boilerplate-markdown/src/content/markdown/loose-lists
/assemble-boilerplate-markdown/src/content/markdown/main
/assemble-boilerplate-markdown/src/content/markdown/markdown-documentation-basics
/assemble-boilerplate-markdown/src/content/markdown/markdown-documentation-syntax
/assemble-boilerplate-markdown/src/content/markdown/nested-blockquotes
/assemble-boilerplate-markdown/src/content/markdown/nested-code
/assemble-boilerplate-markdown/src/content/markdown/nested-em
/assemble-boilerplate-markdown/src/content/markdown/nested-square-link
/assemble-boilerplate-markdown/src/content/markdown/not-a-link
/assemble-boilerplate-markdown/src/content/markdown/ordered-and-unordered-lists
/assemble-boilerplate-markdown/src/content/markdown/same-bullet
/assemble-boilerplate-markdown/src/content/markdown/strong-and-em-together
/assemble-boilerplate-markdown/src/content/wiki/data-context
/assemble-boilerplate-markdown/src/content/wiki/data-types
/assemble-boilerplate-markdown/src/content/wiki/data-yaml-front-matter
/assemble-boilerplate-markdown/src/content/wiki/data-yaml
/assemble-boilerplate-markdown/src/content/wiki/data
/assemble-boilerplate-markdown/src/content/wiki/options-assets
/assemble-boilerplate-markdown/src/content/wiki/options-collections
/assemble-boilerplate-markdown/src/content/wiki/options-data
/assemble-boilerplate-markdown/src/content/wiki/options-engine
/assemble-boilerplate-markdown/src/content/wiki/options-ext
/assemble-boilerplate-markdown/src/content/wiki/options-helpers
/assemble-boilerplate-markdown/src/content/wiki/options-layout
/assemble-boilerplate-markdown/src/content/wiki/options-layoutdir
/assemble-boilerplate-markdown/src/content/wiki/options-partials
/assemble-boilerplate-markdown/src/content/wiki/options
/assemble-boilerplate-markdown/src/content/wiki/templates-helpers
/assemble-boilerplate-markdown/src/content/wiki/templates-layouts
/assemble-boilerplate-markdown/src/content/wiki/templates-partials
## assemble/assemble-boilerplate-markdown ends";
let substitution = "xxx";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", 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 Rust, please visit: https://docs.rs/regex/latest/regex/