// 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#"I'm logged in as (?:a\s|an\s)(?:"([^"]*)"\s)?(?:user|customer)\s(?:(?:for[\sa\s|\san\s]?)(?:"([^"]*)"\s))?"#).unwrap();
let string = "Given I'm logged in as a user for a \"password change\" to eCommerce
Given I'm logged in as an \"inactive\" user for a \"password change\" to eCommerce
Given I'm logged in as an \"inactive\" user to eCommerce
Given I'm logged in as a \"simple\" user to eCommerce
Given I'm logged in as a user in a \"shared\" account to eCommerce
Given I'm logged in as a user in a \"bucket\" account to eCommerce
Given I'm logged in as a user for \"email notification tests\" to eCommerce
Given I'm logged in as a user with \"cs admin and sales admin\" roles to eCommerce
Given I'm logged in as a user with \"cs & bb\" roles for a \"passwd change\" to eCommerce
Given I'm logged in as an \"inactive\" user with \"cs admin\" roles to eCommerce
Given I'm logged in as \"ducking\" user with \"ducking\" roles to eCommerce
";
// 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/