using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
string text = "ฮาซวัน มูเส๊ะ\nเลขที่ 173 ถนนดินสอ\nต.วังพญา เขตพระนคร กรุงเทพมหานคร 96150\n0845525359 example@gmail.com";
var emailAddresses = ExtractEmailAddresses(text);
Console.WriteLine("Detected Email Addresses:");
foreach (var email in emailAddresses)
Console.WriteLine(email);
var phoneNumbers = ExtractPhoneNumbers(text);
Console.WriteLine("Detected Phone Numbers:");
foreach (var phoneNumber in phoneNumbers)
Console.WriteLine(phoneNumber);
var zipCodes = ExtractZipCodes(text);
Console.WriteLine("Detected Zip Codes:");
foreach (var zipCode in zipCodes)
Console.WriteLine(zipCode);
static IEnumerable<string> ExtractEmailAddresses(string text)
const string pattern = @"(?:[a-zA-Z0-9._%+-]+)@(?:[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,})";
var regex = new Regex(pattern);
var matches = regex.Matches(text);
var emailAddresses = new List<string>();
foreach (Match match in matches)
emailAddresses.Add(match.Value);
static IEnumerable<string> ExtractPhoneNumbers(string text)
const string pattern = @"[0-9]+";
var regex = new Regex(pattern);
var matches = regex.Matches(text);
var phoneNumbers = new List<string>();
foreach (Match match in matches)
if (match.Value.Length >= 9)
phoneNumbers.Add(match.Value);
static IEnumerable<string> ExtractZipCodes(string text)
const string pattern = @"\b\d{5}(?:-\d{4})?\b";
var regex = new Regex(pattern);
var matches = regex.Matches(text);
var zipCodes = new List<string>();
foreach (Match match in matches)
zipCodes.Add(match.Value);