// 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"<a\s*[^>]*?>(?![^<]*?All).*?<\/a>").unwrap();
let string = "<!DOCTYPE html>
<html dir=\"ltr\" lang=\"en\" xml:lang=\"en\">
<div id=\"page\" class=\"container-fluid clearfix\">
<div id=\"page-content\" class=\"row-fluid\">
<div id=\"region-bs-main-and-pre\" class=\"span9\">
<div class=\"row-fluid\">
<section id=\"region-main\" class=\"span8 pull-right\">
<div role=\"main\"><span id=\"maincontent\"></span><div class=\"no-overflow\"><table cellspacing=\"0\" id=\"overview-grade\" class=\"flexible boxaligncenter generaltable\"><thead><tr><th class=\"header c0\" scope=\"col\">Course name<div class=\"commands\"></div></th><th class=\"header c1\" scope=\"col\">Grade<div class=\"commands\"></div></th></tr></thead><tbody><tr class=\"\" id=\"grade-report-overview-45567_r0\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r0_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=723&user=45567\">[BIOL 107 Section 1] Concepts in Biology</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r0_c1\">-</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r1\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r1_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=5153&user=45567\">[CENG 230 All Sections] Introduction to C Programming</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r1_c1\">-</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r2\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r2_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3054&user=45567\">[CENG 230 Section 7] Introduction to C Programming</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r2_c1\">-</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r3\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r3_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3538&user=45567\">[ENG 101 Section 40] English for Academic Purposes I</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r3_c1\">37.25</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r4\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r4_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3208&user=45567\">[FDE 101 Section 1] Introduction to Food Engineering</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r4_c1\">55.33</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r5\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r5_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=5358&user=45567\">[MATH 119 All Sections] Calculus with Analytic Geometry</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r5_c1\">-</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r6\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r6_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=578&user=45567\">[MATH 119 Section 15] Calculus with Analytic Geometry</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r6_c1\">-</td></tr><tr class=\"\" id=\"grade-report-overview-45567_r7\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r7_c0\"><a href=\"https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=219&user=45567\">[PHYS 105 Section 16] General Physics I</a></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r7_c1\">-</td></tr><h3>Courses I am taking</h3><br /><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r8\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r8_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r8_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r9\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r9_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r9_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r10\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r10_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r10_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r11\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r11_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r11_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r12\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r12_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r12_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r13\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r13_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r13_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r14\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r14_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r14_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r15\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r15_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r15_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r16\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r16_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r16_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r17\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r17_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r17_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r18\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r18_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r18_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r19\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r19_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r19_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r20\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r20_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r20_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r21\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r21_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r21_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r22\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r22_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r22_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r23\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r23_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r23_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r24\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r24_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r24_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r25\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r25_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r25_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r26\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r26_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r26_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r27\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r27_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r27_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r28\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r28_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r28_c1\"></td></tr><tr class=\"emptyrow\" id=\"grade-report-overview-45567_r29\"><td class=\"cell c0\" id=\"grade-report-overview-45567_r29_c0\"></td><td class=\"cell c1\" id=\"grade-report-overview-45567_r29_c1\"></td></tr></tbody></table></div></div> </section>
</div>
</div>
</div>
</div>
</body>
</html>
";
// 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/