0

我在sometext@mail.com一些文本中有以下格式的邮件地址。@mail.com 始终采用相同的格式,并且某些文本正在更改。如何在文本中匹配 sometext@mail.com。

4

2 回答 2

0

这不是微不足道的,无论您使用哪种正则表达式,您都可能在极端情况下以不正确的匹配结束,但作为第一个近似值,我建议

\b\S+@mail\.com\b

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

于 2013-01-16T11:55:25.667 回答
0

这是您需要的:

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

编辑:(我刚刚在我的电脑上测试过,它可以工作)

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); 
}

现场演示

于 2013-01-16T11:56:28.393 回答