// 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#"(?ms)fmc="(.*?)".*?<part.*?>(.*?)</part>"#).unwrap();
let string = "<?xml version = \"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>
<corpus>
<ver id=\"18\" etude=\"EC1_Elec\" elec=\"oui\" niveau=\"1\" critere=\"1.3\" type=\"discours\">
<part code=\"EC1_Elec_IW04_0\">Ça existe sur des gros parcs Hlm mais c'est macro.</part>
</ver>
<ver id=\"30\" etude=\"EC1_Elec\" elec=\"oui\" niveau=\"2\" critere=\"\" origine=\"IW\" type=\"discours\" fmc=\"motives\">
<part code=\"EC1_Elec_IW01_0\">Avant 75 on n'a pas isolé puis après, au fur et à mesure des règlementations.</part>
</ver>
<ver id=\"54\" etude=\"EC1_Elec\" elec=\"oui\" niveau=\"1\" critere=\"\" origine=\"IW\" type=\"discours\" fmc=\"condition\">
<part code=\"EC1_Elec_IW10_0\">Le deuxième boitier, il est où ? s'il y en a un qui est à l'intérieur et qui remplace un bout de l'isolation, il est caché OK.</part>
</ver>
<ver id=\"897\" etude=\"EC3_Elec\" elec=\"oui\" niveau=\"4\" critere=\"4.1\" origine=\"TR\" type=\"discours\" fmc=\"obstacle\">
<part code=\"EC3_Elec_TR2_1\">Avec l'économie d'énergie, on va imposer de plus en plus d'automatismes,</part>
<iwer>Çava influencer la demande pour ce type de solution c'est ça ?</iwer>
<part code=\"EC3_Elec_TR2_1\">Je pense oui</part>
</ver>
</corpus>";
// 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/