一段话,如:
@abc falieurisdlfalsjdfj Email: [email protected] alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja上面这段话中 读取@abc 和 @abc.uk 和@123  而不要取出 [email protected]中的 @abc.cn   就像微博中一样 @符号后面,逗号或者句号前面的内容取出来,但是不要涉及到邮箱中的@后面的东西。

解决方案 »

  1.   


                string str = @"@abc falieurisdlfalsjdfj Email: [email protected] alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja";
                Regex reg = new Regex(@"@[^\s]+(?<!\.(com|cn|net))(?=\s)");            foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Value);
    可以读出@abc 和 @abc.uk, @123后面是逗号,也要能读出?
      

  2.   


                string str = @"@abc falieurisdlfalsjdfj Email: [email protected] alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja";
                Regex reg = new Regex(@"@[^\s]+(?<!\.(com|cn|net))(?=\s|,)");            foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Value);这个是能把@123也读出的