Java正则表达式的使用实例
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Java正则表达式的使用实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java正则表达式的使用实例"吧!一:抓取网页中的Ema
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技公司华为
疫情对互联网科技公司影响
互联网科技战争
互联网 科技创新
广州互联网络科技有限公司
顺玮阁互联网科技
广州紫鲸互联网科技
互联网科技宣传片
互联网科技有限公司 翻译
丰台科技园 互联网公司
互联网科技公司需要的职位
受益于互联网科技的高速发展
中国互联网公司排名锤子科技
互联网金融科技名词解释
互联网科技股为什么大涨
互联网科技快讯热点
互联网相关科技技术
互联网与数字科技关系
三亚科技创新互联网基地
互联网的黑科技实验室
科技互联网
科技金融是不是互联网金融
互联网科技深圳
互联网与新科技
互联网金融和金融科技
互联网科技产品
南平创想时代互联网科技有限公司
岳阳华臻互联网科技有限公司
互联网金融科技名词解释
互联网金融科技元年