// 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"<id>(.+?)<\/id>|<name>(.+?)<\/name>|<time>(.+?)<\/time>|<line>(.+?)<\/line>|<timeMin>(.+?)<\/timeMin>").unwrap();
let string = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<ArrayOfPolling xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">
<Polling>
<id>1494</id>
<name>Street xyz</name>
<time>14.08</time>
<line>AB2</line>
<timeMin>5</timeMin>
</Polling>
<Polling>
<id>1494</id>
<name>Street xyz</name>
<time>14.10</time>
<line>140</line>
<timeMin>7</timeMin>
</Polling>
<Polling>
<id>1494</id>
<name>Street xyz</name>
<time>14.12</time>
<line>AB2</line>
<timeMin>9</timeMin>
</Polling>
<Polling>
<id>1494</id>
<name>Street xyz</name>
<time>14.15</time>
<line>140</line>
<timeMin>12</timeMin>
</Polling>
</ArrayOfPolling>";
// 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/