我想要从html文档中截取,一个图片的地址.比如
<html>
...
<img src="commonFile/images/img.aspx?id=23456"></img>
...
</html>请问如何获得commonFile/images/img.aspx?id=23456
????

解决方案 »

  1.   

    try
          string yourStr = ............;
                string resultStr = "";
                Match m = Regex.Match(yourStr, @"<img\s+src=([""']?)(?<src>[^""'\s]*)\1?[^>]*>", RegexOptions.IgnoreCase);
                if (m.Success)
                {
                    resultStr = m.Groups["src"].Value;
                }
    你的html文档中就只有这一个<img...>吗,如果是,用上面的即可,如果不是,那么说明一下,要根据什么来找到你想要的这个图片地址
      

  2.   

    我现在的img不止一个,但是该路径commonFile/images/img.aspx?id=是唯一的,只是id后的参数不同.请问该如何实现?
      

  3.   

    try      string yourStr = ............;
                string resultStr = "";
                Match m = Regex.Match(yourStr, @"<img\s+src=([""']?)(?<src>commonFile/images/img\.aspx\?id=\d+)\1?[^>]*>", RegexOptions.IgnoreCase);
                if (m.Success)
                {
                    resultStr = m.Groups["src"].Value;
                }
      

  4.   

    因为你前面的都一样commonFile/images/img.aspx?id= 你只取ID就行了 如下是取ID的string yourStr = "...................";
    MatchCollection mc = Regex.Matches(yourStr, @"img.aspx\?id=(?<yID>\d+)""", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["src"].Value + "\n";
    }
      

  5.   

    string yourStr = "...................";
    MatchCollection mc = Regex.Matches(yourStr, @"img.aspx\?id=(?<yID>\d+)""", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
    richTextBox2.Text += m.Groups["yID"].Value + "\n";
    }
      

  6.   

    回复人:barrytam(Tech forever) ( ) 信誉:100 2007-06-04 19:02:35 得分:0
    ? 谢谢过客,你的正则很强啊----------
    他的正则 是只取一个 你不是有很多img吗  我写才是取 多个ID号 
    你再用commonFile/images/img.aspx?id=  组合一下就行咯
      

  7.   

    呵呵,刚刚去下了盘棋楼主是一页只有一个这样的图片地址,还是一页有多个,如果取一个,按我上面写的就行了,如果是取多个,用先知的取出id拼接一下,或者是这样直接取集合也行      string yourStr = .........;
                MatchCollection mc = Regex.Matches(yourStr,  @"<img\s+src=([""']?)(?<src>commonFile/images/img\.aspx\?id=\d+)\1?[^>]*>", RegexOptions.IgnoreCase);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Groups["src"].Value + "\n";
                }