// 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)^hotma.*(om|cm|co|et)$|^hotmail\.com[^\.].*$|^hotmail$|^h(to)?mail\.com").unwrap();
let string = "SQL Expression
hotmail.es
hotmail.co.kr
hotmail.co.uk
hotmail.com.tw
hotmail.com
hotmail
hotmailcom
htomail.com
hmail.com
hotmai.com
hotmail.cm
hotmail.net
hotmailc.om
hotmaol.com
homail.com
hotmail.co
hotmail.comahmedshakirny
hotmail.com
hotmail
hotmailcom
htomail.com
hotmail.es
hotmail.co.kr
hotmail.co.uk
hmail.com
hotmai.com
hotmail.cm
hotmail.net
hotmailc.om
hotmaol.com
homail.com
hotmail.co
hotmail.comahmedshakirny
hotmail.comc
hotmail.comi
hotmail.om
hoymail.com
hitmail.com
hjotmail.com
hormail.com
hotgmail.com
hotmaii.com
hotmail..com
hotmail..comn
hotmail.com.lowercaseletter
hotmail.com.tw
hotmail.comgeorge4nyy
hotmail.comjehan.nizam09
hotmail.commn
hotmail.comn
hotmail.comorgmail.com
hotmail.comorvince1812
hotmail.con
hotmail.conm
hotmail.corp
hotmail.vom
hotmail.xom
hotmain.com
hotmaiul.com
hotmmail.com
hpotmail.com
";
// 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/