import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]) {
String html = "<title>ABCD</title>gsdggas<title></title>jkll<title>005</title>";
// 簡單樣本,相當於String html=getHtml(String urlString);
List resultList = getContext(html);
for (Iterator iterator = resultList.iterator(); iterator.hasNext();) {
String context = (String) iterator.next();
System.out.println(context);
}
}
/**
* 提取"<title>XXXX</title>"中的文字XXXX
* @param html 要解析的html文檔內容
* @return 解析結果,可以多次匹配,每次匹配的結果按文檔中出現的先後順序添加進結果List
*/
public static List getContext(String html) {
List resultList = new ArrayList();
Pattern p = Pattern.compile("<title>([^</title>]*)");//匹配<title>開頭,</title>結尾的文檔
Matcher m = p.matcher(html );//開始編譯
while (m.find()) {
resultList.add(m.group(1));//擷取被匹配的部分
}
return resultList;
}
}