Java 提取链接内容及标题

String httpTag= "<a\\b([^>]+)(.*?)</a>";
//String linkHref= "(?:HREF\\s*=\\s*(?:\")([^\"]*)\"|'([^']*)'|([^'\">\\s]+))";
String linkHref= "HREF\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+))";
// String linkHref= "(<a[\\s+]*([^> h]|h(?!ref\b))*href[\\s+]*=[\\s+]*[( '|\ ")]?)([^(\\s+| '|\ ")]*)([^> ]*> ) ";
String linkTitle ="(?:>)(.*)(?:</a>$)";

pathHtml=ie.frame(id,"main").div(id,"PathPanel").html().toString();
//println("LINK is : "+pathHtml);

pattern = Pattern.compile(httpTag, Pattern.CASE_INSENSITIVE);
matcher = pattern.matcher(pathHtml);

while (matcher.find())
{
// int start = matcher.start();
// int end = matcher.end();
// String pureUrl = pathHtml.substring(start, end);
// System.out.println(" match Str is : "+pureUrl);
// println("1: "+matcher.group().length());
// println("2 : "+matcher.groupCount());
// println("22555 --> "+matcher.group(2));
lastLinkHtml=matcher.group();

}
println("Link content: "+lastLinkHtml);
patternCon = Pattern.compile(linkHref, Pattern.CASE_INSENSITIVE);
//patternCon = Pattern.compile(linkTitle, Pattern.CASE_INSENSITIVE);
matcherCon = patternCon.matcher(lastLinkHtml);

while (matcherCon.find())
{
// int start = matcherCon.start();
// int end = matcherCon.end();
// String pureUrl = pathHtml.substring(start, end);

linkValue=matcherCon.group(1);

}
println("link value is: "+linkValue);

  1. importjava.util.regex.*;
  2. publicclassRegExpParseHTML{
  3. /**
  4. *@paramargs
  5. */
  6. publicstaticvoidmain(String[]args){
  7. //TODOAuto-generatedmethodstub
  8. Stringhtml="<ahref=\"http://www.autohome.com.cn/780/\"style=\"text-decoration:none;\"target=\"_blank\"title=\"[D]大众UP频道\">[D]大众UP频道</a>";
  9. Stringhref=parseHref(html);
  10. System.out.println(href);
  11. }
  12. publicstaticStringparseHref(Stringhtml)
  13. {
  14. Stringregex="<a[\\s]+href[\\s]*=[\\s]*\"([^<\"]+)\"";
  15. //Stringregex="[^.]";
  16. Patternp=Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
  17. Matcherm=p.matcher(html);
  18. StringBufferret=newStringBuffer();
  19. while(m.find())
  20. {
  21. ret.append(m.group(1));
  22. }
  23. returnret.toString();
  24. }
  25. }

查看原文

痴人硕梦-->Aerchi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值