// 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#"<td class="name">\n\s+<a[^>]+>(.*)(?=<\/a>)"#).unwrap();
let string = "<header class=\"ipl-header\">
<div class=\"ipl-header__content\">
<h4 name=\"producers\" id=\"producers\" class=\"ipl-header__content ipl-list-title\">
Produced by
</h4>
</div>
<a class=\"ipl-header__edit-link\" href=\"https://contribute.imdb.com/updates?update=tt2527336:producers\">Edit</a>
</header>
<table class=\"subpage_data spFirst crew_list\">
<tbody>
<tr class=\"even\">
<td class=\"name\">
<a href=\"/name/nm0009190/?ref_=tt_rv\"
>J.J. Abrams</a>
</td>
<td>...</td>
<td>executive producer</td>
</tr>
<tr class=\"odd\">
<td class=\"name\">
<a href=\"/name/nm0027297/?ref_=tt_rv\"
>Pippa Anderson</a>
</td>
<td>...</td>
<td>co-producer</td>
</tr>
</tbody>
</table>";
// 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/