我用正则表达式:<IMG\ssrc=[\s\S]*?border=0>
获得以下内容:
<IMG src="xin_2721104302313500258303.jpg" border=0>
<IMG src="xin_4021104302313078191805.jpg" border=0>
<IMG src="xin_29210042823354375753189.gif" border=0>但是我希望只获取src的值:xin_2721104302313500258303.jpg,xin_4021104302313078191805.jpg,xin_29210042823354375753189.gif请问我如何过滤掉前面:<IMG src=" 和后面" border=0>这些标记

解决方案 »

  1.   

    请问我如何过滤掉前面: <IMG   src="   和后面"   border=0> 这些标记
      

  2.   

    已经写了很多这样的正则了,不怎么难啊:string str="..";
    string RegexString = @"<IMG.+?src=""(?<SRC>[^<].*?)"".+?>";
    string[] SRC = GetRegValue(str, RegexString, "SRC", true); /// <summary>
    /// 正则表达式取值
    /// </summary>
    /// <param name="HtmlCode">源码</param>
    /// <param name="RegexString">正则表达式</param>
    /// <param name="GroupKey">正则表达式分组关键字</param>
    /// <param name="RightToLeft">是否从右到左</param>
    /// <returns></returns>
    public string[] GetRegValue(string HtmlCode , string RegexString,string GroupKey,bool RightToLeft)
    {
    MatchCollection m;
    Regex r;
    if (RightToLeft == true)
    {
    r = new Regex(RegexString, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
    }
    else
    {
    r = new Regex(RegexString, RegexOptions.IgnoreCase | RegexOptions.Singleline);
    }
    m= r.Matches(HtmlCode);
    string[] MatchValue = new string[m.Count];
    for (int i = 0; i < m.Count; i++)
    {
    MatchValue[i] = m[i].Groups[GroupKey].Value;
    }
    return MatchValue;
    }
      

  3.   

    <IMG   src="xin_2721104302313500258303.jpg"   border=0> (?<=<IMG[^src]+?src=")[^"]+?(?="[^>]+?>)
      

  4.   

    MatchCollection mc = Regex.Matches(str, @"<img.*?src=""(?<url>[^""]*)""[^>]*>", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
        Console.WriteLine(m.Groups["url"].Value);
    }
      

  5.   

     string result =@"<IMG   src="xin_2721104302313500258303.jpg"   border=0> <IMG   src="xin_4021104302313078191805.jpg"   border=0> ...";
    Match m = Regex.Match(result, @"<IMG   src=""(?<img>[\w\W]+?)""   border=0> ", RegexOptions.IgnoreCase);
    if (m.Success)
      {
        string img=m.Groups["img"].value.ToString();     //这里捕捉到的就是xin_2721104302313500258303.jpg
        //do something
      }