Java正则表达式使用
网络编程 2021-07-05 10:07www.168986.cn编程入门
本篇文章主要给大家介绍java在正则表达式的使用,本篇文章给大家主要介绍应用点在抓取网页中的email地址和代码统计,感兴趣的朋友一起看看吧
一抓取网页中的Email地址
利用正则表达式匹配网页中的文本
代码如下:
[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+
将网页内容分割提取
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class EmailSpider { public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new FileReader("C:\\emailSpider.html")); String line = ""; while((line=br.readLine()) != null) { parse(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static void parse(String line) { Pattern p = Pattern.pile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"); Matcher m = p.matcher(line); while(m.find()) { System.out.println(m.group()); } } }
打印结果
现在你找到这么多邮箱地址,用上JavaMail的知识,你可以群发垃圾邮件了,呵呵!!!
二代码统计
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class CodeCounter { static long normalLines = 0;//正常代码行 static long mentLines = 0;//注释行 static long whiteLines = 0;//空白行 public static void main(String[] args) { //找到某个文件夹,该文件夹狼蚁网站SEO优化在没有文件夹,这里没有写递归处理不在同一文件夹的文件 File f = new File("E:\\Workspaces\\eclipse\\Application\\JavaMailTest\\src\\\\java\\mail"); File[] codeFiles = f.listFiles(); for(File child : codeFiles){ //只统计java文件 if(child.getName().matches(".\\.java$")) { parse(child); } } System.out.println("normalLines:" + normalLines); System.out.println("mentLines:" + mentLines); System.out.println("whiteLines:" + whiteLines); } private static void parse(File f) { BufferedReader br = null; //表示是否为注释开始 boolean ment = false; try { br = new BufferedReader(new FileReader(f)); String line = ""; while((line = br.readLine()) != null) { //去掉注释符/前面可能出现的空白 line = line.trim(); //空行 因为readLine()将字符串取出来时,已经去掉了换行符\n //所以不是"^[\\s&&[^\\n]]\\n$" if(line.matches("^[\\s&&[^\\n]]$")) { whiteLines ++; } else if (line.startsWith("/") && !line.endsWith("/")) { //统计多行// mentLines ++; ment = true; } else if (line.startsWith("/") && line.endsWith("/")) { //统计一行// mentLines ++; } else if (true == ment) { //统计/ mentLines ++; if(line.endsWith("/")) { ment = false; } } else if (line.startsWith("//")) { mentLines ++; } else { normalLines ++; } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(br != null) { try { br.close(); br = null; } catch (IOException e) { e.printStackTrace(); } } } } }
以上内容就是本文给大家分享的Java在正则表达式的使用,希望大家喜欢。
上一篇:深入浅出解析正则表达式-替换原则
下一篇:Java正则表达式基础入门知识
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程