*
功能說明:分析字符串s,提取s里面的超鏈接和鏈接文字.并存入動態(tài)數(shù)組
同時根據(jù)指定包含和不包含的字符串進行過濾相關(guān)鏈接。
2008年3月30日
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
public class RegTest
...{
public static void main(String[] args)
...{
//定義一個文章列表類。包含文章的網(wǎng)址和文章標(biāo)題
class ArticleList
...{
String URLs;
String title;
public ArticleList()...{}
public ArticleList(String t,String u)
...{
title=t;
URLs=u;
}
public String toString()
...{
return ("標(biāo)題:"+title+" 網(wǎng)址:"+URLs+" ");
}
}
ArrayList <ArticleList> al=new ArrayList<ArticleList>();
String s="</p><p style=height:14px><a href=http://jingjia.baidu.com>企業(yè)推廣</a> | <a href=http://top.baidu.com>搜索風(fēng)云榜</a> | <a href=/home.html>關(guān)于百度</a> | <a href=http://ir.baidu.com>About Baidu</a></p><p id=b>©2008 Baidu <a href=http://www.baidu.com/duty>使用百度前必讀</a> <a href=http://www.miibeian.gov.cn target=_blank>京ICP證030173號</a> <a href=http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001092500412><img src=http://gimg.baidu.com/img/gs.gif></a></p></center></body></html><!--543ff95f18f36b11-->";
String regex="<a.*?/a>";
Pattern pt=Pattern.compile(regex);
//System.out.println(regex);
Matcher mt=pt.matcher(s);
String includeString=".*?baidu\.com.*?";//必須包含 字符串"baidu.com"
while(mt.find())
...{
if(mt.group().matches(includeString))
...{
//System.out.println(mt.group());
String s2=">.*?</a>";//標(biāo)題部分
String s3="href=.*?>";
Pattern pt2=Pattern.compile(s2);
Matcher mt2=pt2.matcher(mt.group());
Pattern pt3=Pattern.compile(s3);
Matcher mt3=pt3.matcher(mt.group());
while(mt2.find()&&mt3.find())
...{
//System.out.println("標(biāo)題:"+mt2.group().replaceAll(">|</a>",""));
//System.out.println("網(wǎng)址:"+mt3.group().replaceAll("href=|>",""));
String t=mt2.group().replaceAll(">|</a>","");
String u=mt3.group().replaceAll("href=|>","");
al.add(new ArticleList(t,u));
}
}
}//end while
for(int i=0;i<al.size();i++)
System.out.println(al.get(i));
System.out.println("共有"+al.size()+"個結(jié)果");
}
}
文章出處:http://www.diybl.com/course/3_program/java/javajs/200843/108201.html