本文来自我的个人博客:java 正则表达式提取html纯文本
做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题。现将我做的正则匹配贴上:
importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassTestReg{staticStringreg="<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*>";publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStringstr="<p></p><p> 我们以Buffer类開始对java.nio包的浏览历程。"+"这些类是java.nio的构造基础。这个系列中。我们将尾随《javaNIO》书籍一起深入研究缓冲区。"+"了解各种不同的类型,并学会如何使用。</p><p> 一个Buffer对象"+"是固定数量的数据容器。
其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。
" +"</p><p> Buffer类的家谱:</p><p> " +"<imgsrc="/image/bigger/blog/server/upload/-07/user_2/13711406446068247.png"" +"title="-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"; Patternp=pile(reg,Pattern.MULTILINE); str=str.replace(" ",""); Matcherm=p.matcher(str); while(m.find()){ Stringdata=m.group(1).trim(); if(!"".equals(data)){ System.out.println(data); } } } }
版权声明:本文博客原创文章。博客,未经同意,。