delphi 正则提取TXT中的Email 数据  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 正则提取TXT中的Email 数据


仅作记录,方便复用。适合以下格式的类型处理

aaaa dfaafa@qq.com sfsfs

afalfjaf afdaf@sina.com.cn afaf 阿发

一行一个 email 有明显的分割符号。一行多个email 还要改一下。

program Project1;


{$APPTYPE CONSOLE}


{$R *.res}


uses

  System.SysUtils,

  windows,

  perlregex;


var

    txt,savetxt:TextFile;

    str:string;

    reg:TPerlRegEx;

    i:int64;

begin

  try

    reg := TPerlRegEx.Create;

    AssignFile(txt,'xxx.com.sql');

    AssignFile(savetxt,'saved.txt');

    Reset(txt);

    Rewrite(savetxt);

    reg.RegEx := '([A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4})';

    i:=0;

    while not Eof(txt) do

    begin

      Readln(txt,str);

      reg.Subject := str;

      if reg.Match then

      begin

       Writeln(savetxt,reg.Groups[1]);

      end;

      Inc(i);

      write(#13);

      write(IntToStr(i));

    end;


    CloseFile(txt);

    CloseFile(savetxt);

    reg.Free;

    Readln;

  except

    on E: Exception do

      Writeln(E.ClassName, ': ', E.Message);

  end;

end.


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.041378021240234 seconds