// 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#"(?m)^(.*?)(?:\'s.*)?(?:\s*(?:Original|Extended|Club|Vocal|Dub|DJ|Tech|Summer of Love|12\"))*\s+(?:Remix|Rework|Remake|Reboot|Mix|Bootleg|Version|Edit)$"#).unwrap();
let string = "Original Mix
Vocal Club Mix
Vocal Mix
Arbe & Dann Rework
Protoculture Remix
Extended Mix
Club Mix
Above & Beyond Extended Club Mix
Above & Beyond Mix
Daniel Kandi Extended Mix
Myon Extended Summer of Love Reboot
Above & Beyond Club Mix
Mike Shiver's Catching Sun Mix
Millennial's On Full Force Extended Remix
DJ Tiesto's Magikal Remake
Dustin Husain Bootleg
Extended Version
Daniel Kandi Mix
Above & Beyond Club Mix
Cosmic Gate Vocal Mix
Armin van Buuren Remix
Above & Beyond Extended Club Mix
Maor Levi Extended Mix
gardenstate Extended Mix
RYDEX Remix
Extended Mix
Stratos Kokotas Extended Mix
Niko Zografos Extended Remix
Simon Bostock Remix
Extended Mix
Extended Mix
Original Mix
Cold Blue Extended Remix
Extended Mix
Original Mix
Original Mix
Extended Mix
Extended Mix
Judah Remix
Extended Mix
Extended Mix
Original Mix
Hybrid's Supersonic Remix
Original Mix
Extended Mix
Activa Extended Rework
DJ Version
Extended Version
Original Mix
Extended Tech Mix
Original Mix
Original Mix
Extended Mix
Talla 2XLC Extended Remix
Extended Mix
Extended Mix
Extended Mix
Extended Mix
Extended Mix
Extended Mix
Audien Remix
Extended Mix
Original Mix
Original Mix";
// 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/