求一正则表达式
要求: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#