只获取src值

时间:2013-08-20 08:33:11

标签: c# asp.net

我在数据库中有一个总是有标签的字段。还有很多文字......

例如:

Hey there.. whats up?
<img src="http://cdn.theatlantic.com/static/infocus/ngpc112812/s_n01_nursingm.jpg" alt="" />
.. and this is my photo!..

我需要得到

之间的内容
  

的src

我试过了:

public string LinkPicCorrect(string path)
{
    //string input = "[img]http://imagesource.com[/img]";
    string pattern = @"\<img>([^\]]+)\\/>";
    string result = Regex.Replace(path, pattern, m =>
    {
        var url = m.Groups[1].Value;
        // do something with url here
        // return the replace value
        return @"<img src=""" + url + @""" border=""0"" />";
    },
        RegexOptions.IgnoreCase);

    result = "<img src='" + result + "'/>";

    return result;
}

但我有一个解析错误:

  

异常详细信息:System.ArgumentException:解析“\([^]] +)\ /&gt;” - 引用未定义的组名img。

不知道我的代码是否正确...

2 个答案:

答案 0 :(得分:13)

此问题已经被问到here

string matchString = Regex.Match(original_text, "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value;

答案 1 :(得分:1)

您可以尝试使用此正则表达式: -

string pattern= Regex.Match(path, "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value;