java压缩html

 [\s\S]*是完全通配的意思;

“[ ]”是范围描述符。

\s是指空白,包括空格、换行、tab缩进等所有的空白,而\S刚好相反,这样一正一反下来,就表示所有的字符,完全的,一字不漏的。

另外,[]这个符号,表示在它里面包含的单个字符不限顺序的出现,比如:

[ace]*---这表示,只要出现a/c/e这三个任意的字母,都会被匹配;

[\s]---表示,只要出现空白就匹配;

[\S]---表示,非空白就匹配;

表示所有组合都是相应的,有[\w\W]等,意义完全相同。

还有一点,有"."这个通配符了的原因是:

原因是因为"."是不会匹配换行的,所有出现有换行匹配的时候,使用[\s\S]或者[\w\W]这样的完全通配模式。

 

复制代码
File file = new File("D:\\test\\test\\dist\\electron\\static\\pdfjs\\web\\viewer.html");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null){
     sb.append(line);
}
reader.close();

// 去除注释
String htmlStr = sb.toString().replaceAll("<!--[\s\S]*?-->","");// 去除回车
htmlStr = htmlStr.replaceAll("\\n","");

// 去除>后面的空格
htmlStr = htmlStr.replaceAll(">\\s+", ">");
// 去除<前面的空格
htmlStr = htmlStr.replaceAll("\\s+<", "<");


System.out.println(htmlStr);

File file1 = new File("D:\\test\\test\\dist\\electron\\static\\pdfjs\\web\\viewer-min.html");
FileWriter writer = new FileWriter(file1);
writer.write(htmlStr);
writer.close();
复制代码

 

posted @   荣超  阅读(327)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示