// 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#"\s*<Title\svodBackOfficeId=\"([^\s]*)">"#).unwrap();
let string = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<Titles xmlns=\"urn:eventis:prodis:onlineapi:2.0\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">
<Title vodBackOfficeId=\"00181253-684f-4911-92ab-91859bc4402a\">
<IngestId>1001_00000000071p1</IngestId>
<Name>Superbabies: Baby Geniuses 2 71</Name>
<Description>A group of smart-talking toddlers find themselves at the center of a media moguls experiment to crack the code to baby talk. The toddlers must race against time for the sake of babies everywhere.</Description>
<ContentProvider>Arrivo</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId=\"dc640b52-3067-4ba2-8506-474996126089\" encodingProfileCode=\"Cable\"/>
<Asset vodBackOfficeId=\"0a36f3c4-1484-4631-be26-f01a955966ae\" encodingProfileCode=\"Orion\"/>
<Asset vodBackOfficeId=\"00a0cca8-9d09-4048-bf17-e51b63bb1491\" encodingProfileCode=\"Widevine\"/>
</Assets>
<MetadataIngestId>1001_00000000071p1</MetadataIngestId>
</Title>
<Title vodBackOfficeId=\"c4289c39-b92f-49c5-9a45-bc6eaf7b8393\">
<IngestId>9110_00000000175p1</IngestId>
<Name>SmartRec Test VOD 1</Name>
<Description>The Tramp cares for an abandoned child, but events put that relationship in jeopardy. Dennis</Description>
<ContentProvider>Arrivo</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId=\"39779bf2-800f-4821-8d43-b42dffe155f9\" encodingProfileCode=\"Cable\"/>
<Asset vodBackOfficeId=\"9c90a157-875e-4737-936e-3d34b60a6b61\" encodingProfileCode=\"Orion\"/>
<Asset vodBackOfficeId=\"13fb314b-332c-4633-9334-d294f72e370b\" encodingProfileCode=\"Widevine\"/>
</Assets>
<MetadataIngestId>9110_00000000175p1</MetadataIngestId>
</Title>
<Title vodBackOfficeId=\"4a8bc282-8bb8-4dce-b2d1-e2129c092d80\">
<IngestId>seachange.com_TEST1386088695671341</IngestId>
<Name>Wanted</Name>
<Description>Doormat Wesley Gibson discovers that his recently murdered father -- who Wesley never knew -- belonged to a secret guild of assassins. After a leather-clad sexpot drafts Wesley into the society, he hones his innate killing skills and turns avenger.</Description>
<ContentProvider>SEAC</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId=\"b0c8bdd7-00e3-4ce5-889b-73e708d75f03\" encodingProfileCode=\"Cable\"/>
</Assets>
<MetadataIngestId>seachange.com_TEST1386088695671341</MetadataIngestId>
</Title>";
// 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/