文本内容..Content里头有图片,也有内容..当用这样的格式:        public ArrayList getImgUrl(string html, string regstr, string keyname)
        {
            ArrayList resultStr = new ArrayList();
            Regex r = new Regex(regstr, RegexOptions.IgnoreCase);
            MatchCollection mc = r.Matches(html);
            foreach (Match m in mc)
            {
                resultStr.Add(m.Groups[keyname].Value.ToLower());            }
            if (resultStr.Count > 0)
            {
                return resultStr;
            }        }调用,imgUrl = getImgUrl(content, @"<IMG[^>]+src=\s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", "src")[0].ToString();能得到文本内容中以<img src="" border="0">的图片..但如果是<input type="images" src="">时,就无效了.正则应该怎么写?谢谢..

解决方案 »

  1.   

    ,imgUrl = getImgUrl(content, @"<(IMG|input)[^>]+src=\s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", "src")[0].ToString();
      

  2.   

    (?i)<(img|input)[^>]*?src=(['""]?)(?<src>[^'""\s]+?)\2[^>]*?>
      

  3.   

    //private ArrayList getimgurl(string html)
        //{
        //    ArrayList resultStr = new ArrayList();
        //    Regex r = new Regex(@"<IMG[^>]+src=\s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", RegexOptions.IgnoreCase);//忽视大小写
        //    MatchCollection mc = r.Matches(html);    //    foreach (Match m in mc)
        //    {
        //        resultStr.Add(m.Groups["src"].Value.ToLower());
        //    }
        //    if (resultStr.Count > 0)
        //    {
        //        return resultStr;
        //    }
        //    else
        //    {
        //        resultStr.Clear();
        //        return resultStr;
        //    }
        //}取arraylist 第0个就是了