当前位置:编程学习 > C#/ASP.NET >>

*****高分求正则

--------------------编程问答-------------------- 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/>
<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);
--------------------编程问答-------------------- 顶一个! --------------------编程问答-------------------- html代码所在源文件:
<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> 
--------------------编程问答--------------------
引用 5 楼 dalmeeme 的回复:
html代码所在源文件:
HTML code
<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……


+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' --------------------编程问答--------------------
引用 8 楼 pyez1158 的回复:
string a = @"a href=""/css/Page.CSS"" src='/img/Q507.jpg'";
  string b = @"(?<=(src|href)=(""|'))";
  string c = Regex.Replace(a,b,"http:……

上面多弄了一句
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,