java正则替换超链接问题

fengstudios 2009-09-02 03:52:46
java找出html里所有的超链接,并将链接改为http://xx.com/aa.jsp?url=原链接,这要怎么搞?
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengstudios 2009-09-02
  • 打赏
  • 举报
回复
我这样解决了

String str="<a href=\"http://www.163.com\">163.com</a><br><a href=\"http://www.csdn.com\">csdn.com</a>";
out.print("替换前:<br>"+str+"<hr>");
String pat="<a.+?href=(\"|'|)\\b(.+?)\\b\\1(?:\\s.*)?>(.+?)</a>";
Pattern pattern=Pattern.compile(pat);
Matcher m=pattern.matcher(str);
StringBuffer sb=new StringBuffer();
while(m.find()){
m.appendReplacement(sb,"<a href=http://www.zhuliao.com/jump.jsp?url="+m.group(2)+">"+m.group(3)+"</a>");
result=m.find();
}
m.appendTail(sb);
out.print("替换后:<br>"+sb.toString());
closewbq 2009-09-02
  • 打赏
  • 举报
回复

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("href=\"(.+?)\"");
Matcher matcher = pattern.matcher("<a href=\"index.html\">测试</a>");
String string = matcher.replaceAll("href=\"http://xx.com/aa.jsp?url=\"");
System.out.println(string);
}

}

结果:
<a href="http://xx.com/aa.jsp?url=">测试</a>

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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