using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:[a-z0-9+!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|""(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*"")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])";
string input = @"[a-zA-Z0-9-_.+]+@[a-zA-Z0-9-_.]+
ekoprasetyo.crb@outlook.com
db.maulana@gmail.com.
dee.wien@yahoo.com. .
""deninainggolan@yahoo.co.id""
Fajar.rohita@hotmail.com klaas knot (firmansya1404@gmail.aero);
dydmm, sss <fransisca+jw@gmail.com>, donny_tri_wardono@yahoo.co.id thank a
""Helpdesk | Energiem**ine"" <helpdesk@ene---ine.nl>
invalid: John..Doe@example.com
valid: John.Doe@example.com
Valid addresses from https://en.wikipedia.org/wiki/Email_address
simple@example.com
very.common@example.com
FirstName.LastName@EasierReading.org
x@example.com
long.email-address-with-hyphens@and.subdomains.example.com
user.name+tag+sorting@example.com
name/surname@example.com
admin@example
example@s.example
"" ""@example.org
""john..doe""@example.org
mailhost!username@example.org
""very.(),:;<>[]\"".VERY.\""very@\\ \""very\"".unusual""@strange.example.com
user%example.com@example.org
user-@example.org
postmaster@[123.123.123.123]
postmaster@[IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334]
_test@[IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334]";
RegexOptions options = 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