日期:2014-05-17  浏览次数:20469 次

求一个简单的替换的正则,回答就有分
要求将 所有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);