本文来自我的个人博客: java 正则表达式提取html纯文本

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

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>&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);
}
}
} }

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

java 正则表达式提取html纯文本的更多相关文章

  1. 实用的php清除html,php去除空格与换行,php清除空白行和换行,提取页面纯文本

    实用的php清除html,换行,空格类,php去除空格与换行,php清除空白行和换行,提取页面纯文本内容 方法一: function DeleteHtml($str) { $str = trim($s ...

  2. java正则表达式提取地址中的ip和端口号

    由于我需要用到java正则表达式提取地址中的ip和端口号,所以我就写了一个demo,测试一下,下面是demo public class Test0810_1 { public static void ...

  3. 使用Java正则表达式提取字符串中的数字一例

    直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster. ...

  4. EXchange导出通讯录提取url纯文本

    用outlook链接邮箱 文件-打开和导出--导出到文件--逗号分隔值--选择联系人--保存 保存为一个后缀为csv的文件 打开该文件  选中该列 用替换功能删掉()符号 用vba脚本删掉汉字 Sub ...

  5. Java 正则表达式提取标签中的属性(src 连接地址)等

    public class Test { public static void main(String[] args) { String source = "<p><img ...

  6. java 正则表达式提取价格

    实例代码: public static void main(String[] args) { String str="11000.00元"; Pattern pattern = P ...

  7. Java正则表达式提取String字符串中的IP地址

    /** * 正则提前字符串中的IP地址 * @param ipString * @return */ public static List<String> getIps(String ip ...

  8. 从html富文本中提取纯文本

    其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式. 所以只需要将富文本字符串中的“<.....>”标签剔除,即可得到纯文本.我们可以使用正则表 ...

  9. java如何将html过滤为纯文本

    java开发中jsp页面可以嵌套很多插件就可以将html形式的文本直接转化为纯文本,但是如果你已经保存下来或者没有运用插件,这个额html形式的文本你该怎么转化为纯文本呢?有次我将公告保存了html形 ...

随机推荐

  1. SQL声明发育异常导致项目错误

    1.错误叙述性说明 严重:Exception occurred during processing request:Statement Callback;SQL[   ];OALL8处于不一致状态; ...

  2. Qt数据类型转换

    把QString转换为double类型 方法1.QString str="123.45"; double val=str.toDouble(); //val=123.45 方法2. ...

  3. WPF MediaElement播放器2

    在此问个问题,MediaElement播放本地和http上的视频没问题,但是ftp的怎么在本例中播放不了 若高手了解,请不吝赐教 using System; using System.Collecti ...

  4. extjs的相关属性

    通用属性: labelSeparator:''//表示fieldLabel后不会显示冒号":" readOnly:true//仅仅读 focusCls: 'txtHalfInput ...

  5. mysql float double 类型

    1.float类型 float列类型默认长度查不到结果.必须指定精度. 比方 num float, insert into table (num) values (0.12); select * fr ...

  6. SDL 简单入门学习

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 概要 实际学习使用SDL创建窗体,并绘制图形. 前言 今天想要做一个简单的demo ...

  7. Git相关操作汇总

    git clone: 正如上图,当我们打开终端的情况下,默认我们所在的目录是在/home/shiyanlou的,大家可以在终端输入以下命令把目录切换到桌面cd  /home/Desktop这个时候输入 ...

  8. 查看linux系统版本号命令

    一.查看内核版本号命令: 1) [root@SOR_SYS ~]# cat /proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012. ...

  9. OllyDbg 使用注意事项 (十)

    OllyDbg 用笔记 (十) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1kT1ce83 这个程序能够从 ...

  10. JAVA字符串比较equals()和equalsIgnoreCase()差异

    .用equals( )方法比較两个字符串是否相等.它具有例如以下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比較的字符串( ...