// 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.*href.?=.?["'](?:\b\w+://)?([\w-]+(?:\.[\w-]+)+)[/:?]?.*?["'].*?>?(?:</)?.?>"#).unwrap();
let string = "<a href=\"http://stepic.org/courses\">
<a href='https://stepic.org'>
<a href='http://neerc.ifmo.ru:1345'>
<a href=\"ftp://mail.ru/distib\" >
<a href=\"ya.ru\">
<a href=\"www.ya.ru\">
<a href=\"../skip_relative_links\">
<a target=\"blank\" href='http://sas-_0123d.ifmo.ru:1345'>
<a href='http://neerc.ifmo.ru:1345'>
<a href=\"../some_path/index.html\">
<a href=\"https://www.ya.ru\">
<a href=\"ftp://mail.ru/distib\" >
<a href=\"bya.ru\">
<a href=\"http://www.ya.ru\">
<a href=\"www.kya.ru\">
<a href=\"../skip_relative_links\">
<a href=\"http://stepic.org/courses\">
<a class = \"hello\" href= \"http://ftepic.org/courses\" id=\"dfdf\">
<p class = \"hello\" href= \"http://dtepic.org/courses\">
<a class = \"hello\" href = \"http://a.b.vc.ttepic.org/courses\">
<a href='https://stepic.org'>
<a href='http://neerc.ifmo.ru:1345' >
<a href = \"ftp://mail.ru/distib\" >
<a href= \"ya.ru\">
<a href =\"www.ya.ru\">
<a href=\"../skip_relative_links\">
<link rel=\"image_src\" href=\"https://examaple.org/files/6a2/72d/e09/6a272de0944f447fb5972c44cc02f795.png\" />
<a href=\"http://www.gtu.edu.ge/index_e.htm\" target=\"_top\">Georgian Technical University</a>
<a href=\"http://stepic-2.org/courses\">
<a href=\"ftp://www.mya-2.ru\">
<a href='https://stepic-2.org'>
<a link href='http://neerc.ifmo-2.ru:1345'>
<a title=test download=\"http://test.com\"; href=\"test.com\" class=\"my test\" style=>
<a title=test class=\"my test\" href= \"test1.com:8080/test/path?get=http://test2.ru/?true\"; rel=\"nofollow\" style=>
<a title=test meta=\"whatever http://test1.com\"; href = \"test.com?get=http://test2.ru/?true\"; class=\"my test\" style= >
<a target=\"blank\" href='http://sasd.ifmo-2.ru:1345'>
<a href='http://neerc.ifmo-2.ru:1345'>
<a href=\"../some_path/index-2.html\">
<a href=\"https://www.ya-2.ru\">
<a href=\"ftp://mail-2.ru/distib\" >
<a href=\"bya-2.ru\">
<a href=\"http://www.ya-2.ru\">
<a href=\"www.kya-2.ru\" >
<a href=\"../skip_relative_links-2\">
<a href=\"http://stepic-2.org/courses\">
<a class = \"hello-2\" href= \"http://ftepic-2.org/courses\" id=\"dfdf\">
<p class = \"hello-2\" href= \"http://dtepic-2.org/courses\">
<a class = \"hello-2\" href = \"http://a.b.vc.ttepic-2.org/courses\">
<a href='https://stepic-2.org'>
<a href='http://neerc.ifmo-2.ru:1345' >
<a href = \"ftp://mail-2.ru/distib\" >
<a href= \"ya-2.ru\">
<a href =\"www.ya-2.ru\">
<a href=\"../skip_relative_links\">
<link rel=\"image_src\" href=\"https://examaple.org/files/6a2/72d/e09/6a272de0944f447fb5972c44cc02f795.png\" />
<a href=\"http://www.gtu.edu-2.ge/index_e.htm\" target=\"_top\">Georgian Technical University</a>
<a class-8 = \"hello-2\" href= \"http://zzz.last.test-1.stepic.org/courses\" id=\"dfdf\">
<a class-4-4 = \"hello-2-raz\" href = \"http://zzz.last.test-2.stepic.org/courses\" >
<a href =\"https://stepic.org/media/attachments/lesson/24471/02\">";
// 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/