// 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)^[a-z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,64}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,64}[a-z])?){1,2}$").unwrap();
let string = "bhagat.ali@gmail.com
bhagat.ali@gmail
abhagat@capitalone.com
bhagat.ali@gmail.co.in
bhagat.ali@gmail.co-in
bhagat.ali@gmail.co.
bhagat.ali@gmail.co.in.ca
bhagat.ali@gmail.co.in.ca.
bhagat.ali@gmail...com
ali!b@gmail.com
ali#b@gmail.com
ali$b@gmail.com
ali%b@gmail.com
ali&b@gmail.com
ali'b@gmail.com
ali***$$$b@gmail.com
ali+++b@gmail.com
ali////b@gmail.com
ali===Tets@gmail.com
ali????b@gmail.com
ali^^^^^^b@gmail.com
ali____b@gmail.com
ali````b@gmail.com
ali{{{{}}}}b@gmail.com
ali|||||b@gmail.com
ali~~~~b@gmail.com
ali------b@gmail.com
bhagat.ali@12345678901234567890123456789012345678901234567890123456789012345678.com
bhagat.ali@12345678901234567890123456789012345678901234567890123456789012345.com
bhagat@c.99a";
// 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/