有没有办法使用C#从纯文本中提取所有电子邮件地址.
例如
我的电子邮件地址是mrrame@gmail.com,他的电子邮件是mrgar@yahoo.com
应该回来
mrrame@gmail.com,mrgar @ yahoo.com
我尝试了以下内容,但它只匹配完美的电子邮件.
public const string MatchEmailPattern =
@"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
+ @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
+ @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+ @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
public static bool IsEmail(string email)
{
if (email != null) return Regex.IsMatch(email, MatchEmailPattern);
else return false;
}
Run Code Online (Sandbox Code Playgroud)