Merge pull request #6 from PI20v/3-create-algorithm

Добавляет алгоритм извлечения адресов
This commit is contained in:
Maxim Slipenko 2022-05-16 15:17:12 +03:00 committed by GitHub
commit bdd6fbd9c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 0 deletions

View File

@ -46,6 +46,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ExtactEmailsAlgorithm.cs" />
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>

29
ExtactEmailsAlgorithm.cs Normal file
View File

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace AwesomeEmailExtractor
{
internal class ExtactEmailsAlgorithm
{
public static int Extract(string inputText, out List<string> uniqueEmails)
{
// Регулярное выражение для поиска почтовых адресов
string pattern = @"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b";
// Находим каждый почтовый адрес в тексте
var matches = Regex.Matches(inputText, pattern, RegexOptions.IgnoreCase);
// Получаем количество найденных адресов
int countMatches = matches.Count;
// Получаем уникальные почтовые адреса
uniqueEmails = matches.Cast<Match>().Select(m => m.Value).Distinct().ToList();
return countMatches;
}
}
}