博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 正则表达式提取html纯文本
阅读量:6326 次
发布时间:2019-06-22

本文共 1876 字,大约阅读时间需要 6 分钟。

本文来自我的个人博客: 

做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题。现将我做的正则匹配贴上:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import 
java.util.regex.Matcher;
import 
java.util.regex.Pattern;
 
 
public 
class 
TestReg {
    
static 
String reg = 
"<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*>"
;
    
public 
static 
void 
main(String[] args) {
        
// TODO Auto-generated method stub
        
String str = 
"<p></p><p>&nbsp;&nbsp;&nbsp;&nbsp;我们以Buffer类開始对java.nio包的浏览历程。"
                
"这些类是java.nio的构造基础。这个系列中。我们将尾随《java NIO》书籍一起深入研究缓冲区。"
                
"了解各种不同的类型,并学会如何使用。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;一个Buffer对象"
                
"是固定数量的数据容器。<p></p><p>其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。</p><p>"
                
"</p><p>&nbsp;&nbsp;&nbsp;&nbsp;Buffer类的家谱:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;"
                
"<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>&nbsp;&nbsp;&nbsp;&nbsp;<strong>一,缓冲区基础</strong>"
                
"</p><p>&nbsp;&nbsp;&nbsp; 1.缓冲区的属性:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                
"容量(capacity):缓冲区可以容纳的数据元素的最大数量,这一容量是在缓冲区被创建时设置的,而且永远不能被改变</p>"
                
"<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上界(limit): 缓冲区的第一个不能被读或写的元素。"
                
"或者说。缓冲区中现存元素的计数。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位置(position): "
                
"下一个要被读或写的元素的索引,位置会自己主动由对应的get()和put()函数更新。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                
"&nbsp;&nbsp;&nbsp;标记(mark): 一个备忘位置,调用mark()来设定mark=position.调用reset()设定position=mark。"
                
"标记在设定前是没有定义的(undefied)。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这四个属性的关系例如以下:</p"
;
        
Pattern p = Pattern.compile(reg, Pattern.MULTILINE);
        
str = str.replace(
"&nbsp;"
""
);
        
Matcher m = p.matcher(str);
        
while
(m.find()) {
            
String data = m.group(
1
).trim();
            
if
(!
""
.equals(data)) {
                
System.out.println(data);
            
}
        
}
    
}
 
}</p>

版权声明:本文博客原创文章。博客,未经同意,不得转载。

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4661126.html,如需转载请自行联系原作者

你可能感兴趣的文章
Atlas Control ToolKit 发布
查看>>
世界是数字的
查看>>
Dundas 系列
查看>>
Windows的命令行查看,修改,删除,添加环境变量
查看>>
iOS 图文混排
查看>>
GC是什么? 为什么要有GC?
查看>>
JQuery EasyUi之界面设计——母版页以及Ajax的通用处理(三)
查看>>
童年记忆
查看>>
Selenium Python bindings 文档一
查看>>
directX的16位和24位的色彩模式
查看>>
WINDOWS 8
查看>>
ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇]
查看>>
spring(10)
查看>>
Ubuntu 12.04 LTS 及ubuntu14.10 -- NFS安装
查看>>
hdu 5063 Operation the Sequence(Bestcoder Round #13)
查看>>
django orm多条件查询及except处理不存在记录的样码
查看>>
8.3折抢购最欢迎的Mac清理工具CleanMyMac3
查看>>
第十五章 springboot + pojo默认值设置
查看>>
linux grep命令
查看>>
Button MouseEvent颜色变化
查看>>