*****高分求正则
--------------------编程问答-------------------- http://xxtianxiaxing.iteye.com/blog/480203</?[a-zA-Z]*([\\s]*([A-Za-z]+[\\s]?=[\\s]?(\"|')?[\\w]+(\"|')?))*> --------------------编程问答-------------------- 强,就是不知道对不对!! --------------------编程问答--------------------
string str = @"<LINK href=""/css/Page.CSS"" type=text/css rel=stylesheet /><br/>--------------------编程问答-------------------- 顶一个! --------------------编程问答-------------------- html代码所在源文件:
<a href='/qingchunsifang/' target='_blank'>链接</a><br/>
<img border='0' src='/img/Q507.jpg' /><img border='0' src='http://www.test.com/img/1.jpg' />";
string result = Regex.Replace(str, @"(?is)(?<=(?:href|src)=(['""]))((?:(?!http://www\.test\.com)[^'""])*)(?=\1)", "http://www.test.com$2");
Console.WriteLine(result);
<LINK href="/css/Page.CSS" type=text/css rel=stylesheet /><br/>
<a href='/qingchunsifang/' target='_blank'>链接</a><br/>
<img border='0' src='/img/Q507.jpg' />
<a HREF="abc/abc.html">跳转</a>
<a href="http://abc/abc.html">跳转</a>
cs文件:
protected void Page_Load(object sender, EventArgs e)
{
string s = File.ReadAllText(Server.MapPath("~/test.txt"));
MatchEvaluator me = new MatchEvaluator(ABC);
string r = Regex.Replace(s, @"(?is)(?<=<(?:link|a|img)[^>]+?(?:href|src)=(?<yinhao>[""']))(?<url>.+?)(?=\<yinhao>)", me);
Response.Write(Server.HtmlEncode(r).Replace("\r\n", "<br/>"));
}
private string ABC(Match match)
{
string oldUrl = match.Groups["url"].Value.ToLower();
if (!oldUrl.Contains("http://"))
{
if (oldUrl.IndexOf('/') == 0)
return "http://www.test.com" + oldUrl;
else
return "http://www.test.com/" + oldUrl;
}
else
return oldUrl;
}
最后输出:
<LINK href="http://www.test.com/css/page.css" type=text/css rel=stylesheet /><br/>--------------------编程问答--------------------
<a href='http://www.test.com/qingchunsifang/' target='_blank'>链接</a><br/>
<img border='0' src='http://www.test.com/img/q507.jpg' />
<a HREF="http://www.test.com/abc/abc.html">跳转</a>
<a href="http://abc/abc.html">跳转</a>
+1 楼上都是强人
楼主这次发达了 --------------------编程问答-------------------- 都是强人 膜拜 --------------------编程问答-------------------- string a = @"a href=""/css/Page.CSS"" src='/img/Q507.jpg'";
Regex html = new Regex(@"(?<=(src|href)=(""|'))[^""']*");
string b = @"(?<=(src|href)=(""|'))";
string c = Regex.Replace(a,b,"http://www.test.com");
Console.WriteLine(c);
输出:
a href="http://www.test.com/css/Page.CSS" src='http://www.test.com/img/Q507.jpg' --------------------编程问答--------------------
上面多弄了一句
补充:.NET技术 , ASP.NET