using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"<a.*href.?=.?[""'](?:\b\w+://)?([\w-]+(?:\.[\w-]+)+)[/:?]?.*?[""'].*?>?(?:</)?.?>";
string input = @"<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"">";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx