Java正则表达式提取html纯文本
作者:网络转载 发布时间:[ 2015/7/23 10:06:09 ] 推荐标签:测试开发技术 编程语言
做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题。现将我做的正则匹配贴上:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestReg {
static String reg = "<[a-zA-Z]+.*?>([sS]*?)</[a-zA-Z]*>";
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "<p></p><p> 我们以Buffer类?始对java.nio包的浏览历程。"
+ "这些类是java.nio的构造基础。这个系列中。我们将尾随《java NIO》书籍一起深入研究缓冲区。"
+ "了解各种不同的类型,并学会如何使用。</p><p> 一个Buffer对象"
+ "是固定数量的数据容器。<p></p><p>其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。</p><p>"
+ "</p><p> Buffer类的家谱:</p><p> "
+ "<img src="http://photo.jfq24.com/image/bigger/blog/server/upload/2014-07/user_2/13711406446068247.png" "
+ "title="2014-07-27_1527.png"></p><p> <strong>一,缓冲区基础</strong>"
+ "</p><p> 1.缓冲区的属性:</p><p> "
+ "容量(capacity):缓冲区可以容纳的数据元素的大数量,这一容量是在缓冲区被创建时设置的,而且永远不能被改变</p>"
+ "<p> 上界(limit): 缓冲区的第一个不能被读或写的元素。"
+ "或者说。缓冲区中现存元素的计数。</p><p> 位置(position): "
+ "下一个要被读或写的元素的索引,位置会自己主动由对应的get()和put()函数更新。</p><p> "
+ " 标记(mark): 一个备忘位置,调用mark()来设定mark=position.调用reset()设定position=mark。"
+ "标记在设定前是没有定义的(undefied)。</p><p> 这四个属性的关系例如以下:</p";
Pattern p = Pattern.compile(reg, Pattern.MULTILINE);
str = str.replace(" ", "");
Matcher m = p.matcher(str);
while(m.find()) {
String data = m.group(1).trim();
if(!"".equals(data)) {
System.out.println(data);
}
}
}
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11