using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
string input = "Reuben.olsen@kotahi.co.nz";
bool output = validateEmail(input);
Console.WriteLine(output);
private static bool validateEmail(string _email)
string emailAddressFilter = "^(?(\")(\".+?(?<!\\\\)\"@)|(([0-9a-z]((\\.(?!\\.))|[-!#\\$%&'\\*\\+/=\\?\\^`{}|~\\w])*)(?<=[0-9a-z])@))(?([)([(\\d{1,3}.){3}\\d{1,3}])|(([0-9a-z][-0-9a-z]*[0-9a-z]*.)+[a-z0-9][-a-z0-9]{0,22}[a-z0-9]))$";
System.Text.RegularExpressions.Regex regEx;
System.Text.RegularExpressions.Match regMatch;
List<string> emailAddresses;
regEx = new System.Text.RegularExpressions.Regex(emailAddressFilter, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
emailAddresses = new List<string>(_email.Split(';'));
var enume = emailAddresses.GetEnumerator();
if (!string.IsNullOrEmpty(email))
regMatch = regEx.Match(email);
retVal = regMatch.Success;