a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Regex > 正文

Java正則表達式使用

2020-03-16 21:04:27
字體:
來源:轉載
供稿:網友
本篇文章主要給大家介紹java在正則表達式的使用,本篇文章給大家主要介紹應用點在抓取網頁中的email地址和代碼統計,感興趣的朋友一起看看吧
 

一:抓取網頁中的Email地址

利用正則表達式匹配網頁中的文本

 

復制代碼代碼如下:

[//w[.-]]+@[//w[.-]]+//.[//w]+

 

將網頁內容分割提取
 

  1. import java.io.BufferedReader; 
  2. import java.io.FileNotFoundException; 
  3. import java.io.FileReader; 
  4. import java.io.IOException; 
  5. import java.util.regex.Matcher; 
  6. import java.util.regex.Pattern; 
  7. public class EmailSpider { 
  8.   public static void main(String[] args) { 
  9.     try { 
  10.       BufferedReader br = new BufferedReader(new FileReader("C://emailSpider.html")); 
  11.       String line = ""
  12.       while((line=br.readLine()) != null) { 
  13.         parse(line); 
  14.       } 
  15.     } catch (FileNotFoundException e) { 
  16.       e.printStackTrace(); 
  17.     } catch (IOException e) { 
  18.       e.printStackTrace(); 
  19.     } 
  20.   } 
  21.   private static void parse(String line) { 
  22.     Pattern p = Pattern.compile("[//w[.-]]+@[//w[.-]]+//.[//w]+"); 
  23.     Matcher m = p.matcher(line); 
  24.     while(m.find()) { 
  25.       System.out.println(m.group()); 
  26.     } 
  27.   } 
?

打印結果:

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的知識,你可以群發垃圾郵件了,呵呵!!!

二:代碼統計
 

  1. import java.io.BufferedReader; 
  2. import java.io.File; 
  3. import java.io.FileNotFoundException; 
  4. import java.io.FileReader; 
  5. import java.io.IOException; 
  6. public class CodeCounter { 
  7.   static long normalLines = 0;//正常代碼行 
  8.   static long commentLines = 0;//注釋行 
  9.   static long whiteLines = 0;//空白行 
  10.   public static void main(String[] args) { 
  11.     //找到某個文件夾,該文件夾下面在沒有文件夾,這里沒有寫遞歸處理不在同一文件夾的文件 
  12.     File f = new File("E://Workspaces//eclipse//Application//JavaMailTest//src//com//java//mail"); 
  13.     File[] codeFiles = f.listFiles(); 
  14.     for(File child : codeFiles){ 
  15.       //只統計java文件 
  16.       if(child.getName().matches(".*//.java$")) { 
  17.         parse(child); 
  18.       } 
  19.     } 
  20.     System.out.println("normalLines:" + normalLines); 
  21.     System.out.println("commentLines:" + commentLines); 
  22.     System.out.println("whiteLines:" + whiteLines); 
  23.   } 
  24.   private static void parse(File f) { 
  25.     BufferedReader br = null
  26.     //表示是否為注釋開始 
  27.     boolean comment = false
  28.     try { 
  29.       br = new BufferedReader(new FileReader(f)); 
  30.       String line = ""
  31.       while((line = br.readLine()) != null) { 
  32.         //去掉注釋符/*前面可能出現的空白 
  33.         line = line.trim(); 
  34.         //空行 因為readLine()將字符串取出來時,已經去掉了換行符/n 
  35.         //所以不是"^[//s&&[^//n]]*//n$" 
  36.         if(line.matches("^[//s&&[^//n]]*$")) { 
  37.           whiteLines ++; 
  38.         } else if (line.startsWith("/*") && !line.endsWith("*/")) { 
  39.           //統計多行/*****/ 
  40.           commentLines ++; 
  41.           comment = true;   
  42.         } else if (line.startsWith("/*") && line.endsWith("*/")) { 
  43.           //統計一行/**/ 
  44.           commentLines ++; 
  45.         } else if (true == comment) { 
  46.           //統計*/ 
  47.           commentLines ++; 
  48.           if(line.endsWith("*/")) { 
  49.             comment = false
  50.           } 
  51.         } else if (line.startsWith("//")) { 
  52.           commentLines ++; 
  53.         } else { 
  54.           normalLines ++; 
  55.         } 
  56.       } 
  57.     } catch (FileNotFoundException e) { 
  58.       e.printStackTrace(); 
  59.     } catch (IOException e) { 
  60.       e.printStackTrace(); 
  61.     } finally { 
  62.       if(br != null) { 
  63.         try { 
  64.           br.close(); 
  65.           br = null
  66.         } catch (IOException e) { 
  67.           e.printStackTrace(); 
  68.         } 
  69.       } 
  70.     } 
  71.   } 
?

以上內容就是本文給大家分享的Java在正則表達式的使用,希望大家喜歡。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线观看国产视频 | 成人欧美一区二区三区在线播放 | 亚洲成人福利 | 精品免费 | 91福利在线播放 | 精品久久久久久久 | 中文字幕一区二区三区四区五区 | 秋霞影院午夜丰满少妇在线视频 | www国产亚洲精品久久网站 | 黄色网址在线免费观看 | 最新黄色网址在线播放 | 巨大乳女人做爰 | 凹凸日日摸日日碰夜夜 | 日本高清一区 | 亚洲高清免费 | 久久精品欧美 | 国产h视频在线观看 | 国产视频三区 | 美日韩三级 | 色婷婷综合在线视频 | a天堂视频 | 久久ri资源网 | www.国产欧美 | 精品国产91 | 欧美日韩国产一区二区三区 | 极品av | 色综合久久伊人 | 中文字幕日韩高清 | 国产精品久久久久久久久久久久冷 | 国产亚洲欧美在线 | 精品国产欧美一区二区 | 欧美麻豆 | 蜜桃视频麻豆女神沈芯语免费观看 | 久久九九这里只有精品 | 色一情| 天天草天天 | 91成人短视频在线观看 | 蜜桃免费视频 | 久久久久久久久久久高潮 | 欧美日韩在线免费观看 | 欧美日韩一区二区视频在线观看 |