c#中匹配邮件文本的正则表达式

本文关键字:文本 正则表达式 | 更新日期: 2023-09-27 17:53:29

我有以下格式的邮件地址sometext@mail.com在一些文本内。@mail.com的格式总是相同的,有些文本会改变。如何在文本中匹配sometext@mail.com

c#中匹配邮件文本的正则表达式

这不是微不足道的,无论您使用什么正则表达式,在极端情况下都可能以不正确的匹配结束,但作为初步估计,我建议

'b'S+@mail'.com'b

这将不匹配包含空格的邮件地址,但它将正确处理地址周围的标点符号(如"(sometext@mail.com)")。

这是你需要的:

'b[_a-z0-9-]+('.[_a-z0-9-]+)*@mail'.com'b

编辑:(我刚刚在我的PC上测试了它,它工作)

using System.Text.RegularExpressions;
string body = "hgfhfghgfhfhh fdfdf@mail.com gfhhfhf";
Match match = Regex.Match(body, @"'b[_a-z0-9-]+('.[_a-z0-9-]+)*@mail'.com'b",
                          RegexOptions.IgnoreCase); 
if (match.Success) { 
    // Finally, we get the Group value and display it. 
    string key = match.Groups[1].Value; 
    Console.WriteLine(key); 
}

现场演示