求一正则表达式

netDust_cv 2010-09-08 06:43:31
要求:

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

...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wackyboy 2010-09-09
  • 打赏
  • 举报
回复

Regex.Replace(input, @"(?i)(?<=href="")http://((?!http)[^""])+(?="")", "http://www.abc.com/$&");
Peter200694013 2010-09-08
  • 打赏
  • 举报
回复

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);
波导终结者 2010-09-08
  • 打赏
  • 举报
回复
\"(http://\w+\.\w+\.\w+)"

取中间的组

其实这种东西写个小函数来处理更灵活,也更好修改
netDust_cv 2010-09-08
  • 打赏
  • 举报
回复
不行啊。没说清楚。

因为网址有可能是

www.baidu.com
xxx.baidu.com
baike.baidu.com
Peter200694013 2010-09-08
  • 打赏
  • 举报
回复
string 的 Replace不行么?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧