// 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"(?umi)(?s)(?<=start).*?(?=end)").unwrap();
let string = "Match all characters between two strings with dotall mode to match across line breaks
Duis sem mi, rhoncus ut enim quis, ultricies posuere libero.
Etiam et euismod dolor, at ornare lorem.
Praesent iaculis pellentesque felis, sit amet interdum ex ultricies id.
Nam eu mattis nisi.
Sed et odio risus.
Proin fermentum in justo non consequat.
Pellentesque pellentesque augue sed erat porta gravida.
In a magna at metus suscipit sodales non eget massa.
Maecenas eu turpis non nisl semper ultricies.
Duis rhoncus imperdiet sapien, vitae posuere erat tempor id.
Vestibulum in enim fermentum purus tempor maximus tempus quis ex.
Maecenas vitae felis ac elit semper blandit.
Suspendisse neque eros, vestibulum nec ultrices at, sagittis eget ex.
Aenean feugiat libero nunc, sit amet commodo turpis tristique luctus.
Sed sodales diam at urna viverra, nec ultrices enim imperdiet.
startLorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla velit diam, vehicula eget nunc at, aliquet mattis velit.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Nam quis sollicitudin augue.
Maecenas a auctor nibh.
Pellentesque aliquam nulla sit amet posuere laoreet.
Nunc lorem massa, vehicula ac vehicula ac, varius vel est.
Proin sed mattis dolor.
Cras quis enim non nisl ultrices rhoncus in ut nisl.
endCurabitur venenatis ullamcorper ullamcorper.
Praesent in mi non mi bibendum lobortis at vel est.
Mauris luctus varius justo, non rhoncus sem tristique quis.
Aenean ac metus commodo felis pharetra dapibus.
Integer hendrerit, enim ac varius sagittis, ipsum lacus euismod elit, sed sagittis tortor purus nec sapien.
Morbi luctus risus quam, nec imperdiet nibh pulvinar id.
Pellentesque pretium posuere ligula, id ullamcorper sapien placerat at.
Nulla mattis tristique nisi id ornare.
Cras at orci magna.
Praesent interdum id est vitae feugiat.
Praesent vulputate, tortor at eleifend venenatis, leo turpis malesuada mauris, non lobortis urna velit fringilla lacus.";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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/