// 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)(?=^.{8,}$)(?!^\d)(?!.*\d$)(?!.+\d\d)(?=.*[&%$^#@=])(?=(.*[A-Z]){2})(?=(.*[a-z]){2})(?=(.*[0-9]){2})").unwrap();
let string = "aa1$1BB
bbAZ9$Zfx
bbAZ9$Zf
b8A9$Zfy
b7AZ9$fy
b8A$Zfy4
6bA$Z8yt
7bA$Z8y4
b8A$Z47y
b8A$ZSyg
b8A$Z8yg
b8A$xf4y
A8bb=4cd
12345678AA1bb2=a";
// 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/