正则单元来自:http://RegExpStudio.com
要求实现,过滤出网页中出现的.COM .NET .ORG 域名,只过滤顶级域名,二级以后的都要过滤
比如百度首页的源码中,应该过滤出baidu.com 和hao123.com 这2个

解决方案 »

  1.   


    procedure TForm_DataCollection.Button3Click(Sender: TObject);
    var
      FRegExpr: TRegExpr;
      i:Integer;
    begin
      //Memo_Log里面的内容是网页Get的源码
      FRegExpr := TRegExpr.Create;
      for i:=0 to Memo_Log.Lines.Count-1 do
      begin
        FRegExpr.Expression:='这里应该是什么正则';
        FRegExpr.InputString:=Memo_Log.Lines[i];
        if FRegExpr.Exec then
        begin
          Memo1.Lines.Add(Format('输入字符串为"%s"', [FRegExpr.Match[0]]));
        end;
      end;
    end;
      

  2.   

    (?:\w+\.)(?:\w+\.)?\w+(?:\.net|\.com|\.org|\.cn)
      

  3.   

    (?:\w+\.)?(?:\w+\.)?(?:\w+)(?:\.net|\.com|\.org|\.cn)这个包起来好一点
      

  4.   

    试了下楼上的,不知道是哪个语言调用的,TRegExpr 调用报错,D7,TRegExpr是2004的版本
      

  5.   

    我也用TRegExpr没发现错
    你使用方法有问题吧把?:
    去了也可以
    (\w+\.)?(\w+\.)?(\w+)(\.net|\.com|\.org|\.cn) 
      

  6.   

    TRegExpr功能不怎么样,我现在已经不用了,现在都用DIRegEx
      

  7.   

    (\w+\.)?(\w+\.)?(\w+)(\.net|\.com|\.org|\.cn) 这个同样有问题,二级域名也取了,况且同一个域名怎么重复很多次,每一个都一样呀
      

  8.   

    不取二级更简单了
    (\w+)(\.net|\.com|\.org|\.cn)