当前位置: 代码迷 >> ASP.NET >> 简单的替换的正则,回答就有分
  详细解决方案

简单的替换的正则,回答就有分

热度:4661   发布时间:2013-02-25 00:00:00.0
求一个简单的替换的正则,回答就有分
要求将 所有img标签的路径替换,在最前面添加

如 <img [这里面的内容不确定] src="a.gif"> ====> <img [这里面的内容不确定] src="img/a.gif">  


   



------解决方案--------------------------------------------------------
lz描述不太清楚,是从html源代码里找img标签,之后替换img 的src对吧。
解决方案是,是先得到html里面全部的src,得到旧src集合,再批量Replace就行
C# code
          string URL = "<img[^>]*src=(\"|')(?<src>[^(\"|')]*)(\"|')[^>]*>";                                          MatchCollection MC = new Regex(URL, RegexOptions.IgnoreCase).Matches(strHTML);                List<string> arrOutPut = new List<string>();                foreach (Match m in MC)                {                    arrOutPut.Add(m.Groups["src"].Value);                }
------解决方案--------------------------------------------------------
string str = "<img [这里面的内容不确定] src=\"a.gif\"> ";
str = Regex.Replace(str, @"(?is)(<img((?!src=)[^>])*src=['""])([^'""]+)(['""][^>]*>)", "$1img/$3$4");
------解决方案--------------------------------------------------------
C# code
            string content = @"<img [这里面的内容不确定] src=""a.gif""> ";            Regex reg = new Regex(@"(?is)(<img[^>]+src="")([^""]+)("")");            Match m = reg.Match(content);            content = reg.Replace(content, "$1image/$2$3");            MessageBox.Show(content);
  相关解决方案