我就是已整段HTML代码,在编辑器拿出来的,你拼我看看,我需要的是一个正则表达式

解决方案 »

  1.   


    string str="你的内容";
    string result=str.IndexOf("http://www.xxxxx.com") > -1 ? str : str.Replace("\"/", "\"http://www.xxxxx.com/");
      

  2.   

    public static string ConvertToAbsolute(string strValue,string baseUrl)
    {
    if(strValue=="")
    return ""; string strRef = @"(src|href)[ ]*=[ ]*[""']*[^""'#>]+[""']*";
    MatchCollection matches = new Regex(strRef,RegexOptions.IgnoreCase).Matches(strValue);
    foreach(Match match in matches)
    {
    strRef = match.Value.Substring(match.Value.IndexOf('=')+1).Trim('"', '\'', '#', ' ', '>');
    if(strRef.IndexOf("..") != -1 || strRef.StartsWith("/") || strRef.StartsWith("./") || !strRef.StartsWith("http://") )
    {
    string absRef = new Uri(new Uri(baseUrl), strRef).AbsoluteUri;
    strValue=strValue.Replace(strRef,absRef);
    }
    }
    return strValue;
    }之前写的采集器的代码
      

  3.   

    我就是已整段HTML代码,在编辑器拿出来的,你拼我看看,我需要的是一个正则表达式
    不是需要这样的
      

  4.   

    public static string ConvertToAbsolute(string strValue,string baseUrl)
    {
    if(strValue=="")
    return ""; string strRef = @"(src|href)[ ]*=[ ]*[""']*[^""'#>]+[""']*";
    MatchCollection matches = new Regex(strRef,RegexOptions.IgnoreCase).Matches(strValue);
    foreach(Match match in matches)
    {
    strRef = match.Value.Substring(match.Value.IndexOf('=')+1).Trim('"', '\'', '#', ' ', '>');
    if(strRef.IndexOf("..") != -1 || strRef.StartsWith("/") || strRef.StartsWith("./") || !strRef.StartsWith("http://") )
    {
    string absRef = new Uri(new Uri(baseUrl), strRef).AbsoluteUri;
    strValue=strValue.Replace(strRef,absRef);
    }
    }
    return strValue;
    }之前写的采集器的代码没去测试,因为我找到了
    Regex.Replace(detail, @"(?is)( src=['|""]*)(?!http)/*([^'""]+)", "$1" + url + "/$2");
    还是谢谢你!