using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"\b[A-Z0-9._%+-]+(\s*@\s*|\s*[@\[\{\(]*(\s*(@)\s*|\s+([@\[\{\(]*at[\]\}\)]*)\s+)[\]\}\)]*\s*)([A-Z0-9-])+((\s*[\[\{\(]*\s*(dot|\.)\s*[\]\}\)]*\s*)+[A-Z]{2,6})+\b";
string input = @"Hello hi_there@gmail.com, welcome to Gskinner!
Hello hi_there [at] gmail [dot] com, welcome to Gskinner!
Hello hi_there (at) gmail (dot) co (dot) uk, welcome to Gskinner!
Hello jam+jim @ googlemail.com, welcome to Gskinner!
Hello heythere {at} guardian [dot] co (dot) uk, welcome to Gskinner!
Hello contact [[[@]]] jazzit (dot) hr, welcome to Gskinner!
obfuscated_emails = [
""moo@doo.com"",
""m_oo@doo.co.uk"",
""moo @@ doo.com"",
""moo @ doo . com"",
""moo @ doo.com"",
""moo@doo . com"",
""moo@doo . co . uk"",
""moo@doo. co. uk"",
""m_oo @ doo.com"",
""moo [at] doo.com"",
""moo [at] doo . com"",
""moo [at] doo [dot] com"",
""m_oo [at] doo [dot] co [dot] uk"",
""moo at doo.com"",
""moo at doo . co . uk"",
""m_oo at doo . com"",
""moo at doo dot com""
]
Email him directly at firstname.lastname@companyname.com
word wordWithAtintheend. anotherword
roofcrafters-certifications.jpg , location.href
";
RegexOptions options = RegexOptions.Multiline | RegexOptions.IgnoreCase;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx