using System; using System.Text.RegularExpressions; public class Test { public static void Main() { var input = "\"one@tw;,.'o\"@hotmail.com;\"some;thing\"@example.com;hello@world"; var mm = Regex.Matches(input, "((?:[^@\"]+|\"[^\"]*\")@[^;]+)(?:;|$)"); foreach (Match m in mm) { Console.WriteLine(m.Groups[1].Value); } } }