千家信息网

Java正则表达式的使用实例

发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,这篇文章主要讲解了"Java正则表达式的使用实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java正则表达式的使用实例"吧!一:抓取网页中的Ema
千家信息网最后更新 2025年01月29日Java正则表达式的使用实例

这篇文章主要讲解了"Java正则表达式的使用实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java正则表达式的使用实例"吧!

一:抓取网页中的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.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");    Matcher m = p.matcher(line);    while(m.find()) {      System.out.println(m.group());    }  }}

打印结果:

867124664@qq.com
260678675@QQ.com
806208721@qq.com
hr_1985@163.com
32575987@qq.com
qingchen0501@126.com
yingyihanxin@foxmail.com
1170382650@qq.com
1170382650@qq.com
yingyihanxin@foxmail.com
qingchen0501@126.com
32575987@qq.com
hr_1985@163.com

现在你找到这么多邮箱地址,用上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 commentLines = 0;//注释行  static long whiteLines = 0;//空白行  public static void main(String[] args) {    //找到某个文件夹,该文件夹下面在没有文件夹,这里没有写递归处理不在同一文件夹的文件    File f = new File("E:\\Workspaces\\eclipse\\Application\\JavaMailTest\\src\\com\\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("commentLines:" + commentLines);    System.out.println("whiteLines:" + whiteLines);  }  private static void parse(File f) {    BufferedReader br = null;    //表示是否为注释开始    boolean comment = 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("*/")) {          //统计多行/*****/          commentLines ++;          comment = true;          } else if (line.startsWith("/*") && line.endsWith("*/")) {          //统计一行/**/          commentLines ++;        } else if (true == comment) {          //统计*/          commentLines ++;          if(line.endsWith("*/")) {            comment = false;          }        } else if (line.startsWith("//")) {          commentLines ++;        } 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正则表达式的使用实例这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 正则 表达式 统计 实例 代码 文件夹 内容 注释 网页 学习 地址 知识 空白 一行 垃圾 字符 字符串 就是 思路 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 销售服务器需要 数据库技术与应用考题答案 网络安全属于哪一类一级学科 两个人结婚了服务器会瘫痪吗 自动网络技术服务材料 和别人共用网络安全吗 服务器里面自带阵列功能吗 web上传数据库文本乱码 网络安全国内外最新发展态势 网络安全征文的开头 云服务器哪个永久免费 魔兽世界tbc奎尔塞拉服务器 南京8月份软件开发招聘信息 数据库查询前百分之 福建省代维网络技术有限公司 共建网络安全共享网络文明文字 中文科技期刊数据库简称是什么 服务器内部硬件结构设计 web数据库是基于什么的 服务器机箱解决方案 武汉职业技术学院网络安全 98年互联网科技股 管理软件开发收费 深泽软件开发有限公司在线咨询 北京it软件开发信息推荐 vivo手机微信服务器怎么恢复 高校网络安全应急预案 数据库工程师简历模板 数据库sid是什么 丽赞不被信任的服务器
0