.NET读取所有目录下文件正则匹配文本电子邮件

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Text;

  using System.IO;

  using System.Text.RegularExpressions;

  namespace Test

  {

  class FiEmail

  {

  public static void Main(string[] args) {

  Console.WriteLine("请输入内容路径:");

  string[] fs=Directory.GetFiles(args[0]);

  if(fs!=null){

  string jobsPattern=@"([\w-]+(\.\w+)*@([\w-]+\.)+\w{2,3})";

  Regex rx = new Regex(jobsPattern,RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline );

  foreach(string s in fs){

  Console.WriteLine("匹配");

  string asR=File.ReadAllText(s);

  MatchCollection matches = rx.Matches(asR);

  if(matches!=null && matches.Count>0) {

  string argsP="";

  for(int loopI=0;loopI<matches.Count;loopI++){

  argsP+=(matches[loopI].Groups[0].Value)+Environment.NewLine ;

  }

  W(argsP.Trim(new char[]{'\n'}));

  }

  Console.WriteLine(s);

  }

  }

  Console.ReadLine();

  }

  public static void W(string ids){

  string paths=System.IO.Path.Combine(@"C:\Documents and Settings\Administrator\桌面\GC\","edel.txt");

  using (System.IO.StreamWriter sr = new System.IO.StreamWriter(paths,true)){

  sr.WriteLine(ids);

  }

  }

  }

  }

  然后csc编译,生成f.exe文件。然后就可以使用了。

  里面牵扯到的技术要点:

  1: C# 读取文件夹下所有文件

  2:C# 利用正则获取文件中的邮址

  3:C#文件写入。

  完毕。