import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Assert;
public class MatcherTest{
public String Html()
{
HttpRequest hq = new HttpRequest();
String htmlStr = hq.Request("http://www.funshion.com"); //含html标签的字符串
// System.out.println(htmlStr.length());
// String reg = "(?<=http\\://[a-zA-Z0-9]{0,100}[.]{0,1})[^.\\s]*?\\.(com|cn|net|org|biz|info|cc|tv)";
// Pattern p = Pattern.compile(reg,Pattern.CASE_INSENSITIVE);
// Matcher m = p.matcher(htmlStr);
// System.out.println(m);
String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
//定义script的正则表达式.
Pattern p = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>";
//定义style的正则表达式.
p =Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_html = "<[^>]+>";
//定义HTML标签的正则表达式
p =Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_houhtml = "/[^>]+>";
//定义HTML标签的正则表达式
p =Pattern.compile(regEx_houhtml, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_spe="\\&[^;]+;";
//定义特殊符号的正则表达式
p =Pattern.compile(regEx_spe, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_blank=" +";
//定义多个空格的正则表达式
p =Pattern.compile(regEx_blank, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll("");
String regEx_table="\t+";
//定义多个制表符的正则表达式
p =Pattern.compile(regEx_table, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll(" ");
String regEx_enter="\n+";
//定义多个回车的正则表达式
p =Pattern.compile(regEx_enter, Pattern.CASE_INSENSITIVE);
m = p.matcher(htmlStr);
htmlStr = m.replaceAll("");
System.out.println(htmlStr);
return htmlStr;
}
public static void main(String[] args) {
MatcherTest hl = new MatcherTest();
hl.Html();
}
}
分享到:
相关推荐
通过阅读这份文档,开发者可以更好地理解如何利用Jsoup进行HTML操作。 总的来说,Java通过Jsoup库为我们提供了一个强大且易用的工具来处理HTML,无论是解析网页内容,还是提取、修改HTML元素,都变得相当直观和便捷...
例如,它可能使用了Java的I/O流来读写文件,以及字符串操作来处理HTML内容。 在实际应用中,Java生成HTML的步骤可能包括: 1. 创建或读取HTML模板:模板通常包含预定义的HTML结构,可以使用StringBuffer或...
在Java编程语言中,读取HTML文档主要涉及网络请求、HTML解析和DOM操作等技术。以下将详细讲解如何实现这一过程。 首先,我们需要获取HTML文档的内容。这通常通过HTTP请求来完成,Java提供了多种库来处理HTTP请求,...
总结来说,Java中根据HTML模板生成新的HTML涉及到对HTML模板的理解,选择合适的处理方式(如字符串拼接或使用模板引擎),以及熟悉相关的Java库和API。通过这样的方法,我们可以快速地生成动态的、个性化的HTML页面...
### Java与HTML交互:通过JS与Java Applet获取IE端IP地址 ...然而,随着现代浏览器对安全性和性能的更高要求,Java Applet已经逐渐被淘汰。现在更推荐使用JavaScript或HTML5等技术来实现类似的功能。
Jsoup提供了方便的方法来选择和操作HTML元素,如选择特定的DOM节点、获取属性值等。例如,我们可以通过CSS选择器选取需要的数据,并提取出来。 2. 数据提取: 从解析后的HTML中提取数据通常涉及到DOM遍历。通过...
总的来说,使用Java实现HTML、RTF和PDF之间的转换是一项技术挑战,需要对这些格式有深入的理解,以及灵活运用Java库。通过不断实践和优化,我们可以构建出高效、可靠的转换工具,满足各种实际需求。在开发过程中,...
Java的I/O框架设计灵活,支持多种数据流操作,包括顺序访问、随机访问、二进制读写、字符流处理等,这使得Java成为实现文件转换任务的理想选择。 在本例中,主要关注于从特定目录下的URL文件(通常以.url为扩展名)...
文件操作是 Java 后台部署 HTML 页面代码的重要组成部分。这里的文件操作包括创建文件、写入文件、读取文件和删除文件等。Java 中的文件操作可以通过 File 和 FileInputStream 类来实现。 在给定的代码中,我们可以...
这个库基于Java API,使得开发者能够利用Java进行复杂的文档处理工作,无需直接操作二进制文件。 要将HTML转换为Word文档,我们需要遵循以下步骤: 1. **添加依赖**:在项目中引入docx4j库。如果你使用的是Maven,...
这个过程通常涉及到对HTML内容的解析、处理以及格式转换,以便在Word文档中正确显示。在Java中,Apache POI库是一个常用的工具,用于处理Microsoft Office格式的文件,包括Word文档。 描述中提到的链接指向了ITEYE...
在IT行业中,有时候我们需要将源代码(如Java代码)转换为HTML格式,以便在网页上展示或分享。这个过程不仅涉及简单的文本转换,还需要对代码进行语法高亮,以提高可读性和美观度。以下是对如何实现这个功能的详细...
在Java编程语言中,处理HTML文件是一项常见的任务,特别是在网页抓取、数据分析或者网页内容的自动化操作中。本文将深入探讨如何使用Java来解析和处理HTML文件,以及如何将其转换为XML格式,以便于进一步的数据处理...
Java I/O提供了丰富的类和接口,如`InputStream`, `BufferedReader`, `FileReader`等,用于处理文件读写操作。在读取HTML文件时,我们通常会选择`BufferedReader`,因为它能高效地处理字符流并提供缓冲区以提高性能...
集合框架提供了对数据的高效管理和操作,支持迭代器、泛型等特性。 4. **多线程编程**: Java API中的`java.lang.Thread`和`java.util.concurrent`包提供了多线程支持。开发者可以通过继承`Thread`类或者实现`...
在实际应用中,Java代码可能会通过Ajax发送一个请求到服务器,服务器解析请求后调用对应的JS函数,例如在"des.js"中执行解密操作,然后将结果返回给Java。"des.html"可能是展示解密结果的界面,"des.java"负责处理...
总之,使用iTextPDF库在Java中实现HTML到PDF的转换是一项实用的技能,但需要注意库对HTML和CSS的支持限制。根据实际需求,可能需要对HTML源码进行调整,或者考虑使用其他兼容性更强的库来实现更丰富的转换效果。
在这个项目中,我们可能需要使用`java.io`包下的`BufferedReader`和`FileReader`来读取代码文件,使用`java.nio.file`包的`Files`类来操作文件,以及使用`java.util.regex`包的`Pattern`和`Matcher`类来执行正则...
Jsoup是Java的一个开源库,专为解析、操作和提取HTML内容而设计。它提供了强大的功能,使开发者能够轻松地处理HTML文档,如同操作DOM(文档对象模型)一样。Jsoup支持CSS选择器,使得定位HTML元素变得简单快捷,类似...
提供从html中提取纯文本,从HTML中提取图片链接集合;使用于富文本编辑器存在数据库里面的网页处理