Составить регулярное выражение для парсинга email - C#

Узнай цену своей работы

Формулировка задачи:

есть текст <label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /><label class="mr" for="removed@mail.ru"><input id="removed@mail.ru" type="radio" name="AutoUsername" value="removed@mail.ru" /> removed@mail.ru</label><br /> как вытащить removed@mail.ru делаю так но оно вытаскивает очень большой кусок кода ((
Regex rex70 = new Regex("id-AutoUsername-(.*?)@mail.ru");
string mail_new = rex70.Match(result.ContentUTF8).Groups[1].Value;

Решение задачи: «Составить регулярное выражение для парсинга email»

textual
Листинг программы
using System;
using System.Linq;
using System.Text.RegularExpressions;
 
class Program
{
    static void Main()
    {
        const string prefix = "id-AutoUsername-";
        const string pattern = @"([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})";
        const string text = @"<label class=""mr"" for=""id-AutoUsername-uyakovaleva@bk.ru""><input id=""id-AutoUsername-uyakovaleva@bk.ru"" type=""radio"" name=""AutoUsername"" value=""uyakovaleva@bk.ru"" /> [email]uyakovaleva@bk.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-uchilka.yakovaleva@mail.ru""><input id=""id-AutoUsername-uchilka.yakovaleva@mail.ru"" type=""radio"" name=""AutoUsername"" value=""uchilka.yakovaleva@mail.ru"" /> [email]uchilka.yakovaleva@mail.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-yakovaleva1997@mail.ru""><input id=""id-AutoUsername-yakovaleva1997@mail.ru"" type=""radio"" name=""AutoUsername"" value=""yakovaleva1997@mail.ru"" /> [email]yakovaleva1997@mail.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-yuchilka@mail.ru""><input id=""id-AutoUsername-yuchilka@mail.ru"" type=""radio"" name=""AutoUsername"" value=""yuchilka@mail.ru"" /> [email]yuchilka@mail.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-uchilka.yakovaleva.97@mail.ru""><input id=""id-AutoUsername-uchilka.yakovaleva.97@mail.ru"" type=""radio"" name=""AutoUsername"" value=""uchilka.yakovaleva.97@mail.ru"" /> [email]uchilka.yakovaleva.97@mail.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-uchilka.inna.yakovaleva@mail.ru""><input id=""id-AutoUsername-uchilka.inna.yakovaleva@mail.ru"" type=""radio"" name=""AutoUsername"" value=""uchilka.inna.yakovaleva@mail.ru"" /> [email]uchilka.inna.yakovaleva@mail.ru[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-uyakovaleva@mail.ua""><input id=""id-AutoUsername-uyakovaleva@mail.ua"" type=""radio"" name=""AutoUsername"" value=""uyakovaleva@mail.ua"" /> [email]uyakovaleva@mail.ua[/email]</label><br /><label class=""mr"" for=""id-AutoUsername-yakovaleva.uchilka@mail.ru""><input id=""id-AutoUsername-yakovaleva.uchilka@mail.ru"" type=""radio"" name=""AutoUsername"" value=""yakovaleva.uchilka@mail.ru"" /> [email]yakovaleva.uchilka@mail.ru[/email]</label><br />";
 
        var matches = Regex.Matches(text, pattern).Cast<Match>().Select(m => m.Value.Replace(prefix, null));
        foreach (string s in matches)
        {
            Console.WriteLine(s);
        }
    }
}

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы