Составить регулярное выражение для парсинга 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 делаю так но оно вытаскивает очень большой кусок кода ((
Листинг программы
  1. Regex rex70 = new Regex("id-AutoUsername-(.*?)@mail.ru");
  2. string mail_new = rex70.Match(result.ContentUTF8).Groups[1].Value;

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

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Text.RegularExpressions;
  4.  
  5. class Program
  6. {
  7.     static void Main()
  8.     {
  9.         const string prefix = "id-AutoUsername-";
  10.         const string pattern = @"([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})";
  11.         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 />";
  12.  
  13.         var matches = Regex.Matches(text, pattern).Cast<Match>().Select(m => m.Value.Replace(prefix, null));
  14.         foreach (string s in matches)
  15.         {
  16.             Console.WriteLine(s);
  17.         }
  18.     }
  19. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы