(?i)(?<=a[^>]*href=\s*(['""]?))((?!\1).)+(?=\1[^>]*>下载)上面这段每一部分代表什么意思?如果我想加个匹配href=这个里面中间某一节必须含abc3个字应该怎么样改写?

解决方案 »

  1.   

    http://download.csdn.net/source/2844387
      

  2.   

    http://topic.csdn.net/u/20101204/10/a543196e-37da-46b0-b187-7ab3fe1b08b4.html
      

  3.   

    假如我抓取到一个网页代码如下:
    xxxxx网页其他内容
    <a hrrf="http://www.xadsa.com/123_dd.rar">下载</a>
    <a hrrf="http://www.xadsa.com/234_dd.rar">下载</a>
    <a hrrf="http://www.xadsa.com/456_dd.rar">下载</a>
    xxxxx网页其他内容
    我要如何获得连接里包含234的下载连接http://www.xadsa.com/234_dd.rar? 这个正则该怎么样写了?
      

  4.   

    (?i)(?<=a[^>]*href=\s*(['""]?))((?!\1).*234(?!\1).*)+(?=\1[^>]*>下载)
      

  5.   

    try...            string test = @"假如我抓取到一个网页代码如下:
    xxxxx网页其他内容
    <a href=""http://www.xadsa.com/123_dd.rar"">下载</a>
    <a href=""http://www.xadsa.com/234_dd.rar"">下载</a>
    <a href=""http://www.xadsa.com/456_dd.rar"">下载</a>
    xxxxx网页其他内容";
                Regex reg = new Regex(@"(?i)<a[^>]*?href=(['""]?)((?<o>)234|[^'""\s>])*(?(o)|(?!))\1[^>]*>下载");
                MatchCollection mc = reg.Matches(test);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Value + "\n";
                }
      

  6.   

    自己改下吧            string test = @"假如我抓取到一个网页代码如下:
    xxxxx网页其他内容
    <a href=""http://www.xadsa.com/123_dd.rar"">下载</a>
    <a href=""http://www.xadsa.com/234_dd.rar"">下载</a>
    <a href=""http://www.xadsa.com/456_dd.rar"">下载</a>
    xxxxx网页其他内容";
                Regex reg = new Regex(@"(?i)<a[^>]*?href=(['""]?)(?<url>(?:(?<o>)234|[^'""\s>])*)(?(o)|(?!))\1[^>]*>下载");
                MatchCollection mc = reg.Matches(test);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Groups["url"].Value + "\n";
                }