1:html源代码:<img id="J_ImgBooth" src="http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg"  data-hasZoom="700"  />
红色是我要读取的;其它的都要匹配到正则表达式里的;先前有一个是:@"(?is)<img[^>]*?id=""J_ImgBooth""[^>]*?src=(['""]?)([^'""]+)\1[^>]*?>"但有时可以读得到,有时读不到的...这是为什么的...要怎么改一下的.....??????

解决方案 »

  1.   

    try...string test = "<img id=\"J_ImgBooth\" src=\"http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg\" data-hasZoom=\"700\" />";
    Regex reg = new Regex(@"(?is)<img[^>]*?src=(['""]?)(?<img>[^'"">\s]*)\1[^>]*>");
    MatchCollection mc = reg.Matches(test);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["img"].Value + "\n";
    }
    /*-----输出-----
    http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg
    */
      

  2.   

    上面那个!要是单句就可以的..但要是我放在页面上有很多的HTML源代码就没办法读取的.....
      

  3.   

    itemPics-->
    <div class="booth pic s310">
        <a href="http://www.taobao.com/view_image.php?pic=Wx0GGlFDXA1VUwMBWx0SCwkNGRFcVxxQW1UcCxMFRBkDCFdVV1cRRhpXRDhHMUAIV2tQfkIxKgstJwtTAGsCAkVeQVZFBgYV&title=zNi82yCzp7zS1rHP%2BiAgv7WxpiBaVFAxMDhFLTExRce2yOvKvc%2F7tr658SAgIMirufrBqrGj&version=2&c=Zjk4MjdkZTk2ZTdhMTNhZDQ3ZjA4YTBhOThmN2ZjYjk%3D&itemId=5274740398&shopId=60060027&sellerRate=2056&fv=9"  target="_blank">
            <img id="J_ImgBooth" src="http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg"  data-hasZoom="700"  />
        </a>
        <div class="zoom-icon hidden"   id="J_zoomIcon"></div>
    </div>
    我多弄点源代码!大家试一下可以不
      

  4.   

    要是HTML源代码多点!就没办法匹配到的....能写一个可以更加准确定位到那个的...<div class="booth pic s310">
    <a href="http://www.taobao.com/view_image.php?pic=Wx0GGlFDXA1VUwMBWx0SCwkNGRFcVxxQW1UcCxMFRBkDCFdVV1cRRhpXRDhHMUAIV2tQfkIxKgstJwtTAGsCAkVeQVZFBgYV&title=zNi82yCzp7zS1rHP%2BiAgv7WxpiBaVFAxMDhFLTExRce2yOvKvc%2F7tr658SAgIMirufrBqrGj&version=2&c=Zjk4MjdkZTk2ZTdhMTNhZDQ3ZjA4YTBhOThmN2ZjYjk%3D&itemId=5274740398&shopId=60060027&sellerRate=2056&fv=9" target="_blank">
    <img id="J_ImgBooth" src="http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg" data-hasZoom="700" />
    </a>
    <div class="zoom-icon hidden" id="J_zoomIcon"></div>
    </div>
      

  5.   

    过客那个要是单对一句话可以匹配得到..但要是多几句HTML就匹配不到的...
      

  6.   


    //我给你写的正则木有问题啊。。可以匹配的到
    //这是测试代码
    void Main()
    {
              string html = @"<div class=""booth pic s310"">
    <a href=""http://www.taobao.com/view_image.php?pic=Wx0GGlFDXA1VUwMBWx0SCwkNGRFcVxxQW1UcCxMFRBkDCFdVV1cRRhpXRDhHMUAIV2tQfkIxKgstJwtTAGsCAkVeQVZFBgYV&title=zNi82yCzp7zS1rHP%2BiAgv7WxpiBaVFAxMDhFLTExRce2yOvKvc%2F7tr658SAgIMirufrBqrGj&version=2&c=Zjk4MjdkZTk2ZTdhMTNhZDQ3ZjA4YTBhOThmN2ZjYjk%3D&itemId=5274740398&shopId=60060027&sellerRate=2056&fv=9"" target=""_blank"">
    <img id=""J_ImgBooth"" src=""http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg"" data-hasZoom=""700"" />
    </a>
    <div class=""zoom-icon hidden"" id=""J_zoomIcon""></div>
    </div>";

    foreach(Match m in Regex.Matches(html,@"(?is)<img[^>]*?id=""J_ImgBooth""[^>]*?src=(['""]?)([^'""]+)\1[^>]*?>"))
    {
     Console.WriteLine(m.Groups[2].Value);
    }
    //http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg}
      

  7.   

    源码的多少不会产生影响,只要你的img标签没有出现“>”字符的干扰,就可以取到,检查你的测试代码string test = @"<div class=""booth pic s310"">
    <a href=""http://www.taobao.com/view_image.php?pic=Wx0GGlFDXA1VUwMBWx0SCwkNGRFcVxxQW1UcCxMFRBkDCFdVV1cRRhpXRDhHMUAIV2tQfkIxKgstJwtTAGsCAkVeQVZFBgYV&title=zNi82yCzp7zS1rHP%2BiAgv7WxpiBaVFAxMDhFLTExRce2yOvKvc%2F7tr658SAgIMirufrBqrGj&version=2&c=Zjk4MjdkZTk2ZTdhMTNhZDQ3ZjA4YTBhOThmN2ZjYjk%3D&itemId=5274740398&shopId=60060027&sellerRate=2056&fv=9"" target=""_blank"">
    <img id=""J_ImgBooth"" src=""http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg"" data-hasZoom=""700"" />
    </a>
    <div class=""zoom-icon hidden"" id=""J_zoomIcon""></div>
    </div>";
    Regex reg = new Regex(@"(?is)<img[^>]*?src=(['""]?)(?<img>[^'"">\s]*)\1[^>]*>");
    MatchCollection mc = reg.Matches(test);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["img"].Value + "\n";
    }
    /*-----输出-----
    http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg
    */
      

  8.   

    String aText = @"
    <div class=""booth pic s310"">
    <a href=""http://www.taobao.com/view_image.php?pic=Wx0GGlFDXA1VUwMBWx0SCwkNGRFcVxxQW1UcCxMFRBkDCFdVV1cRRhpXRDhHMUAIV2tQfkIxKgstJwtTAGsCAkVeQVZFBgYV&title=zNi82yCzp7zS1rHP%2BiAgv7WxpiBaVFAxMDhFLTExRce2yOvKvc%2F7tr658SAgIMirufrBqrGj&version=2&c=Zjk4MjdkZTk2ZTdhMTNhZDQ3ZjA4YTBhOThmN2ZjYjk%3D&itemId=5274740398&shopId=60060027&sellerRate=2056&fv=9"" target=""_blank"">
    <img id=""J_ImgBooth"" src=""http://img03.taobaocdn.com/bao/uploaded/i3/T1Cx1eXdFqXXaFKx78_100722.jpg_310x310.jpg"" data-hasZoom=""700"" />
    <img
    id=""J_ImgBooth"" src=""http://img03.t>>22.jpg_310x310.jpg"" data-hasZoom=""700"" />
    <img id=""J_ImgBooth"" src  = ""http://img<<g_310x310.jpg"" data-hasZoom=""700"" />
    <img id=""J_ImgBooth"" src =         ""http://'0x310.jpg"" data-hasZoom=""700"" />
    <img id=""J_ImgBooth"" src   = 'http://""0x310.jpg' data-hasZoom=""700"" />
    <img
    id=""J_ImgBooth"" src=   ' http://""0x310.jpg' data-hasZoom=""700"" /
    >
    <imgxx
    id=""J_ImgBooth"" src = 'http://""0x310.jpg' data-hasZoom=""700"" /
    >
    <img
    id=""J_ImgBooth"" src=   'aa' src=   ' bb' data-hasZoom=""700"" /
    >
    <img
    id=""J_ImgBooth"" src= ""aa"" src=   ' bb' data-hasZoom=""700"" /
    >";
    虐死各种正则高手