Java正则表达式的使用实例
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要讲解了"Java正则表达式的使用实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java正则表达式的使用实例"吧!一:抓取网页中的Ema
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
河南机器人软件开发企业
金十数据库
java提取数据库数据
数据库设计技术怎么写
义乌高科技互联网推广
网约车网络安全自查
软件开发目标责任书
学校网络安全各项规章制度
网络安全 讲座 大学
交换机属于服务器吗
数据库应用案例分析题
优质软件开发哪里做得好
object在数据库5
完美国际单机登录游戏服务器失败
服务器怎么创建
非你莫属网络安全王鑫
数据网络安全课程
软件开发人员编制
广州恒生互联网科技
我的世界宝可梦服务器管理
网络安全产品 分类
网络安全幼儿园大班主题绘画
支付宝刷脸软件开发
软件开发工时记录咋填
甘肃语音网络技术服务基础
沈师数据库pta选择题答案
向境外股东支付软件开发费
数据库用户名和密码怎么改
8核心服务器
我的世界宝可梦服务器管理