`
linpark
  • 浏览: 8100 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

正则表达式解析html

    博客分类:
  • html
阅读更多
来源于网络,java正则表达式过滤html文档,仅作参考:

public String HtmlToTextGb2312(String inputString )
{
String htmlStr = inputString; //含html标签的字符串
String textStr ="";
Pattern p_script;
Matcher m_script;
Pattern p_style;
Matcher m_style;
Pattern p_html;
Matcher m_html;
Pattern p_houhtml;
Matcher m_houhtml;
Pattern p_spe;
Matcher m_spe;
Pattern p_blank;
Matcher m_blank;
Pattern p_table;
Matcher m_table;
Pattern p_enter;
Matcher m_enter;

try {
String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
//定义script的正则表达式.
String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>";
//定义style的正则表达式.
String regEx_html = "<[^>]+>";
//定义HTML标签的正则表达式
String regEx_houhtml = "/[^>]+>";
//定义HTML标签的正则表达式
String regEx_spe="\\&[^;]+;";
//定义特殊符号的正则表达式
String regEx_blank=" +";
//定义多个空格的正则表达式
String regEx_table="\t+";
//定义多个制表符的正则表达式
String regEx_enter="\n+";
//定义多个回车的正则表达式

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_houhtml = Pattern.compile(regEx_houhtml,Pattern.CASE_INSENSITIVE);
m_houhtml = p_houhtml.matcher(htmlStr);
htmlStr = m_houhtml.replaceAll(""); //过滤html标签

p_spe = Pattern.compile(regEx_spe,Pattern.CASE_INSENSITIVE);
m_spe = p_spe.matcher(htmlStr);
htmlStr = m_spe.replaceAll(""); //过滤特殊符号

p_blank = Pattern.compile(regEx_blank,Pattern.CASE_INSENSITIVE);
m_blank = p_blank.matcher(htmlStr);
htmlStr = m_blank.replaceAll(" "); //过滤过多的空格

p_table = Pattern.compile(regEx_table,Pattern.CASE_INSENSITIVE);
m_table = p_table.matcher(htmlStr);
htmlStr = m_table.replaceAll(" "); //过滤过多的制表符

p_enter = Pattern.compile(regEx_enter,Pattern.CASE_INSENSITIVE);
m_enter = p_enter.matcher(htmlStr);
htmlStr = m_enter.replaceAll(" "); //过滤过多的制表符

textStr = htmlStr;

}catch(Exception e)
{
System.err.println("Html2Text: " + e.getMessage());
}

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

分享到:
评论

相关推荐

    常用正则表达式HTML,JAVA合集

    在这个“常用正则表达式HTML,JAVA合集”中,我们主要关注的是HTML和Java环境下的正则表达式应用。 1. **HTML中的正则表达式**: 在HTML中,正则表达式通常用于表单验证,例如输入字段(如邮箱、电话号码、手机号码...

    java正则表达式提取html中的信息

    java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的

    常用正则表达式大全.txt

    根据提供的文件信息,我们可以整理出一系列与正则表达式相关的知识点。这些知识点涵盖了从基本的数字验证到复杂的字符串匹配等多个方面。下面是详细的知识点总结: ### 基本概念 正则表达式是一种用于文本模式匹配...

    精通正则表达式(第三版)简体中文版

    例如,通过构建复杂的正则表达式来解析HTML文档,从中抽取特定的链接地址或文本内容;利用正则表达式来进行邮件地址的有效性检查等。 #### 七、总结 《精通正则表达式(第三版)简体中文版》是一本全面介绍正则...

    源码(精通正则表达式&实战正则表达式)

    2. **文本处理**:从大量文本中提取特定信息,如网页爬虫抓取链接、解析HTML标签等。 3. **替换操作**:批量替换文本,如去除空白字符、格式化代码等。 4. **URL解析**:利用正则处理URL,提取协议、域名、路径、...

    正则表达式综合练习

    在网络爬虫中,它可以用于解析HTML或XML文档,提取链接、文本内容等。 10. **编程语言支持**:大多数编程语言都内置了正则表达式支持,如Java(Test.java中的例子可能涉及Java的`Pattern`和`Matcher`类),Python的...

    报表工具FineReport正则表达式定义规则

    ### 报表工具FineReport正则表达式定义规则 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,在多种编程语言中都有应用,它可以帮助我们完成字符串搜索、替换等一系列复杂的文本处理任务。在报表...

    js正则表达式详解

    正则表达式不仅在JavaScript和Java中广泛应用,在HTML中也同样重要。例如,可以通过JavaScript结合HTML表单来验证用户输入的数据是否符合预期格式。下面是一个简单的HTML表单验证示例: ```html ...

    正则表达式的妙用

    这展示了一个具体的例子,即如何利用正则表达式解析网页内容,抓取隐藏在HTML代码中的特定信息。 正则表达式的核心在于其模式匹配能力。它由一系列字符、特殊符号和操作符组成,可以匹配各种复杂的数据格式。例如,...

    正则表达式处理html文本例子

    正则表达式(Regular Expression)是一种...通过理解以上知识点,你将能够运用正则表达式有效地处理HTML文本,无论是简单的查找、替换还是复杂的解析任务。但记得,针对HTML解析,使用专门的解析库通常更为稳定和高效。

    Jmeter正则表达式提取器

    《Jmeter正则表达式提取器的深度解析与应用》 在软件测试和性能测试领域,Apache JMeter 是一款广泛使用的开源工具,尤其在接口测试和Web应用性能测试中扮演着重要角色。其中,正则表达式提取器是Jmeter中的一个...

    JavaScript正则表达式匹配 div style标签

    正则表达式无法很好地处理嵌套标签和具有属性的标签,且对HTML的解析通常不如专门的HTML解析器准确。不过,在一些简单应用场景下,使用正则表达式还是可以完成任务的。 下面是一个简单的JavaScript示例代码,展示...

    正则表达式列举 代码 项目中直接使用

    以下是对给定文件中的正则表达式知识点的详细解析: ### 1. 匹配中文字符 正则表达式:`[\u4e00-\u9fa5]` 此表达式用于匹配中文字符,其中`\u4e00`到`\u9fa5`是Unicode编码范围内的中文字符。在处理包含中文的...

    Web数据抓取中的正则表达式解析2022优秀文档.pptx

    在Web数据抓取中,正则表达式是一种强大的工具,用于解析和提取网页中的特定数据。正则表达式(Regular Expression)是一种模式匹配语言,它允许我们定义一套规则来匹配和处理字符串。以下是对正则表达式的解析和...

    java正则表达式教程html版带目录

    本教程是专为初学者设计的HTML版,旨在帮助读者快速掌握Java正则表达式的概念和用法。 1. **正则表达式基础** - **元字符**:如`.`代表任意字符,`\d`代表数字,`\s`代表空白字符,`\w`代表字母或数字。 - **量词...

    正则表达式II 正则表达式

    ### 正则表达式II:深入理解与应用 #### 一、正则表达式的概念与基本元素 正则表达式是一种强大的文本匹配工具,用于在字符串中查找特定的字符组合。它广泛应用于搜索、替换以及数据验证等场景。在本章节中,我们...

    精通正则表达式(第三版).pdf

    例如,如何使用正则表达式来验证表单输入、清洗HTML标记、解析URL参数等。 综上所述,《精通正则表达式(第三版)》不仅涵盖了正则表达式的理论知识,还提供了大量的实践指导,对于希望深入了解并熟练掌握正则...

    正则表达式语法及常用正则表达式(附正则手册)

    手册通常会涵盖正则表达式的元字符、预定义字符类、选择、重复、分组、反向引用、否定预查等内容,并且会有大量的实例解析,帮助读者更好地理解和运用正则表达式。 总结,正则表达式是编程和数据处理中的重要工具,...

Global site tag (gtag.js) - Google Analytics