日期:2014-05-20  浏览次数:20608 次

java正则表达式截取字符串
现在有一个网页字符串,比如<div><h3 ..>dsijiswer*dfhjgf</h3></div><table><h3></h3></table>
也就是各种不同标签体内有<h3>标签,我如何把每一个<h3>的完整部分分别显示出来。
java 正则表达式 截取字符串

------解决方案--------------------
	public static void main(String[] args) {
String str = "<div><h3 ..>dsijiswer*dfhjgf</h3></div><table><h3>sdsd</h3></table>";
Pattern p = Pattern.compile("<h3.*?/h3>");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group());
}
}

------解决方案--------------------
使用htmlparaser就可以了,不用正则表达式那么麻烦

Parser parser = Parser.createParser(content, ENCODE);
NodeFilter tableTag = new TagNameFilter("h3");
NodeList nodes = parser.extractAllNodesThatMatch(tableTag);
if (nodes != null) {
for (int i = 0; i < nodes.size(); i++) {
Node textnode = (Node) nodes.elementAt(i);
String temp1 = textnode.toHtml();
String temp2 = textnode.toPlainTextString();
}
}