// 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"(?x)Profile/(\d+) # Profile followed by digits
(?:(?!Allan)[\S\s])+ # any character
Allan # Allan literally
(?:(?!AddAnswer)[\S\s])+ # any character
AddAnswer(\d+) # AddAnswer, followed by digits").unwrap();
let string = "<h4><a href=\"/Profile/23423423423.html\">@@@@@@</a> </h4> said12:49:32
</div>
<a href=\"javascript:void(0)\" onclick=\"replyAnswer(@@@@@@@@@@,'GET','');\" class=\"reportLink\">
report </a>
</div>
<div class=\"details\">
<p class=\"content\">
Hi there, Allan.
</p>
<div id=\"AddAnswer123456\"></div>
<h4><a href=\"/Profile/23423423423.html\">@@@@@@</a> </h4> said12:49:32
</div>
<a href=\"javascript:void(0)\" onclick=\"replyAnswer(@@@@@@@@@@,'GET','');\" class=\"reportLink\">
report </a>
</div>
<div class=\"details\">
<p class=\"content\">
Hi there, Allan.
</p>
<div id=\"AddAnswer123452343232233\"></div>
<h4><a href=\"/Profile/23423423423.html\">@@@@@@</a> </h4> said12:49:32
</div>
<a href=\"javascript:void(0)\" onclick=\"replyAnswer(@@@@@@@@@@,'GET','');\" class=\"reportLink\">
report </a>
</div>
<div class=\"details\">
<p class=\"content\">
Hi there, Allan.
</p>
<div id=\"AddAnswer1234523453245\"></div>
<h4><a href=\"/Profile/23423423423.html\">@@@@@@</a> </h4> said12:49:32
</div>
<a href=\"javascript:void(0)\" onclick=\"replyAnswer(@@@@@@@@@@,'GET','');\" class=\"reportLink\">
report </a>
</div>
<div class=\"details\">
<p class=\"content\">
Hi there, Allan.
</p>
<div id=\"AddAnswer1234523453245\"></div>
<h4><a href=\"/Profile/23423423423.html\">@@@@@@</a> </h4> said12:49:32
</div>
<a href=\"javascript:void(0)\" onclick=\"replyAnswer(@@@@@@@@@@,'GET','');\" class=\"reportLink\">
report </a>
</div>
<div class=\"details\">
<p class=\"content\">
Hi there, Allan.
</p>
<div id=\"AddAnswer1234523453245\"></div>";
// 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/