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.

相关阅读 >>

Delphi中使用自定义字体

Delphi 系统任务栏 窗口状态显示进度

Delphi检查自身是否被调试

Delphi 去掉警告

idhttp控件的防止异常的处理

Delphi cxgrid 通过字段名取得列

Delphi从字符串中取出数字

winapi 字符及字符串函数(15): charnext、charprev

Delphi新建服务,停止系统服务,以及获取服务状态和新建系统服务器的方法

Delphi检测用户是否具有administrator权限

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...