packagecom.comcons.utils;importjava.io.BufferedReader;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.util.regex.Pattern;public classReduceHtml2Text {/*** 删除Html标签

*@paraminputString

*@return

*/

public staticString removeHtmlTag(String inputString) {if (inputString == null)return null;

String htmlStr= inputString; //含html标签的字符串

String textStr = "";

java.util.regex.Pattern p_script;

java.util.regex.Matcher m_script;

java.util.regex.Pattern p_style;

java.util.regex.Matcher m_style;

java.util.regex.Pattern p_html;

java.util.regex.Matcher m_html;

java.util.regex.Pattern p_special;

java.util.regex.Matcher m_special;try{//定义script的正则表达式{或

String regEx_script = "<[\s]*?script[^>]*?>[\s\S]*?<[\s]*?\/[\s]*?script[\s]*?>";//定义style的正则表达式{或

String regEx_style = "<[\s]*?style[^>]*?>[\s\S]*?<[\s]*?\/[\s]*?style[\s]*?>";//定义HTML标签的正则表达式

String regEx_html = "<[^>]+>";//定义一些特殊字符的正则表达式 如:

String regEx_special = "\&[a-zA-Z]{1,10};";

p_script=Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);

m_script=p_script.matcher(htmlStr);

htmlStr= m_script.replaceAll(""); //过滤script标签

p_style =Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);

m_style=p_style.matcher(htmlStr);

htmlStr= m_style.replaceAll(""); //过滤style标签

p_html =Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);

m_html=p_html.matcher(htmlStr);

htmlStr= m_html.replaceAll(""); //过滤html标签

p_special =Pattern.compile(regEx_special, Pattern.CASE_INSENSITIVE);

m_special=p_special.matcher(htmlStr);

htmlStr= m_special.replaceAll(""); //过滤特殊标签

textStr =htmlStr;

}catch(Exception e) {

e.printStackTrace();

}return textStr;//返回文本字符串

}/*** 测试用的main函数

*@paramargs*/

public static voidmain(String[] args) {

StringBuffer sb= newStringBuffer();try{

FileReader fr= new FileReader("D:/test.html");

BufferedReader br= newBufferedReader(fr);

String s= "";while((s = br.readLine())!=null){

sb.append(s);

}

}catch(FileNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}catch(IOException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

String ssss=ReduceHtml2Text.removeHtmlTag(sb.toString());

System.out.println(ssss);

}

}

java正则匹配非html字符串_java正则表达式去除html中所有的标签和特殊HTML字符(以开头的)...相关推荐

  1. java去除以张开头的人名_java正则表达式去除html中所有的标签和特殊HTML字符(以开头的)...

    packagecom.comcons.utils;importjava.io.BufferedReader;importjava.io.FileNotFoundException;importjava ...

  2. Java正则匹配提取年月日字符串

    Java正则匹配提取年月日字符串 String string1="9999-9-99";Pattern p = Pattern.compile("(\\d{4})-(\\ ...

  3. java正则匹配英文句号_「正则表达式」王国奇遇记

    第一回 初来乍到 NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看 ...

  4. java正则匹配买火车票_matlab的正则表达式

    regexp--用于对字符串进行查找,大小写敏感: regexpi--用于对字符串进行查找,大小写不敏感: regexprep--用于对字符串进行查找并替换. 第一部分--单个字符的匹配 1 句点符号 ...

  5. java正则匹配英文句号_谈谈正则表达式中的句号.

    我们知道,正则表达式中,可以用 . 表示任意单个字符,但在underscore和jquery的源代码中,我们可以看到,这些著名类库的代码中,经常并不是用 . 来表示任意字符,而是使用 [\w\W] 或 ...

  6. java 正则 空白字符_关于JAVA正则匹配空白字符的问题

    今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示"\u3000" ,这是什么? 这是全角空格!!! 查了一下    \s   ...

  7. java正则表达式所有字符串_java正则表达式如何获取字符串中所有匹配内容

    java正则表达式如何获取字符串中所有匹配内容以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java正则表达式如何获取 ...

  8. java正则匹配table_js正则匹配table tr

    js正则匹配table tr 我觉得比ijao简单,但是脑子就是转不过弯....请正则高手看看阿. 复制代码 代码如下: title title2 data1 data2       data1 da ...

  9. mysql 正则匹配 捕获组_常用正则表达式 捕获组(分组)

    1.img标签 //,空格后src以'或"开始..... Regex reg = new Regex("]*\\ssrc=(['\"]+[^<>'\" ...

最新文章

  1. 时间序列基础教程总结!
  2. 每日一皮:离职时候的项目交接...
  3. 【JAVA并发编程实战】3、同步容器
  4. jupyter可以打开HTML文件吗,Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)...
  5. python自然语言分析 何翠仪_如何用 Python 中的 NLTK 对中文进行分析和处理?
  6. stl优先队列定义可以吗_C ++ STL | 用户定义的优先级队列比较器
  7. 从Demo到Engine(二) -- Render Queue Sort
  8. 先进事迹计算机维护与维修,汽车维修工先进事迹
  9. Excel的文件打开特别慢,xls文件特别大解决一例
  10. Ubuntu虚拟机安装EDA工具:VCS+Verdi+dve2018方法教程
  11. tkinter向文本框里加内容_给tkinter文本框添加右键菜单
  12. 【STM32学习】基于STM32F411CEU6的USB储存设备
  13. python广播机制是什么意思_Python numpy 广播机制
  14. java查询学号数据库_数据库SQL查询语句练习题 PDF 下载
  15. 大一上学期反思与总结
  16. 腾讯产品总监曹菲:产品经理们,五年后,你会失业吗? 【上】
  17. 坚果云+svn实现异地非局域网个人代码版本管理
  18. TEC1401.Report开发技术总结 - 第七章 使用BI Publisher开发报表-创建一个简单的RTF模板(2/5)
  19. 软件测试面试题:手工测试的局限性?
  20. 从“千里眼”到“火眼金睛”,你要看得懂的小助手还是时刻盯着的望远镜?...

热门文章

  1. unity python_Unity引擎内嵌python
  2. ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库
  3. java 悬浮提示框_表格(悬浮框提示)
  4. java phaser用法_第3章Phaser的使用-(java并发编程核心方法与框架)
  5. python经典100例(41-60)
  6. mysql load character_mysql load data Invalid utf8mb4 character string: ”
  7. 从点到线:逻辑回归到条件随机场
  8. 史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)
  9. 论文浅尝 - ICML2020 | 通过关系图上的贝叶斯元学习进行少样本关系提取
  10. 论文浅尝 | 问题生成(QG)与答案生成(QA)的结合