// 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)(\d+(?:\.5)? (?:US|UK|India|EU)) ?(\d+(?:\.5)? (?:US|UK|India|EU))? ?(\d+(?:\.5)? (?:US|UK|India|EU))? ?(\d+(?:\.5)? (?:US|UK|India|EU))?|((?:US|UK|India|EU) \d+(?:\.5)?) ?((?:US|UK|India|EU) \d+(?:\.5)?)? ?((?:US|UK|India|EU) \d+(?:\.5)?)? ?((?:US|UK|India|EU) \d+(?:\.5)?)?").unwrap();
let string = "a) \" Adidas 8 India 9.5 UK Yellow sneakers\" Must catch: \"8 India\" and \"9.5 UK\" Must not catch: \"India 9.5\"
b) \" Bata unisex sandals 44 Eu 10 uk light weight \" Must catch: \"44 Eu\" and \"10 uk\" Must not catch: \"Eu 10\"
c) \" ABCD brand loafers for men 44.5 EU 8 India \" Must catch: \"44.5 EU\" and \"8 India\" Must not catch: \"EU 8\"";
// 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/