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

求一正则表达式

要求:

XXXXXXXXXXXXXXXXXXXXXXhref="http://www.baidu.com"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
替换为:
XXXXXXXXXXXXXXXXXXXXXXhref="http://www.abc.com/http://www.baidu.com"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

另外,在下一次重复执行后,不能重复替换。再运行一次后,不要变成这样:
XXXXXXXXXXXXXXXXXXXXXXhref="http://www.abc.com/http://www.abc.com/http://www.baidu.com"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

--------------------编程问答-------------------- string 的 Replace不行么? --------------------编程问答-------------------- --------------------编程问答-------------------- 不行啊。没说清楚。

因为网址有可能是

www.baidu.com
xxx.baidu.com
baike.baidu.com --------------------编程问答--------------------
\"(http://\w+\.\w+\.\w+)"

取中间的组

其实这种东西写个小函数来处理更灵活,也更好修改 --------------------编程问答--------------------

            string str = @"XXXXXXXXXXXXXXXXXXXXXXhref=""http://www.baidu.com""XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

            Regex reg = new Regex(@"(?<=href="").*?(?="")");

            foreach (Match m in reg.Matches(str))
            {
                str = str.Replace(m.Value, @"http://www.abc.com/" + m.Value);
            }

            Console.WriteLine(str);
--------------------编程问答--------------------

Regex.Replace(input, @"(?i)(?<=href="")http://((?!http)[^""])+(?="")", "http://www.abc.com/$&");
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,