lxcnn(过客) 过来下,这里的正则需要您!
private static string[] GetEmail(string source)
{
Regex reg = new Regex(@ "\w+([-+. ']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ");
MatchCollection mc = reg.Matches(source);
string [] result=new string [mc.Count ];
for (int i = 0; i < mc.Count;i++ )
{
result [i]=mc[i].Value ;
}
return result;
}
其中source 是
StreamReader sr = new StreamReader( "g:/51245.html ", System.Text.Encoding.Default, false, 1024);
string souce = sr.ReadToEnd ();
在网页中如果遇到 fsatag@163.com,thanks 用户留言写在一起的 抓取出来是
protoss81@163.com澶氳 地址后面跟些汉字
考虑到结尾,换成这样的正则,结果一个地址都匹配不出来@ "^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ "
------解决方案--------------------如果是这样,换成这样试下
Regex reg = new Regex(@ "[a-zA-Z0-9_]+([-+. '][a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([-.a-zA-Z0-9_]+)*\.[a-zA-Z0-9_]+([-.a-zA-Z0-9_]+)* ");
------解决方案--------------------太快了