国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java正則表達式簡單應用

2019-11-26 14:45:37
字體:
來源:轉載
供稿:網友

一:抓取網頁中的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("http://")) {          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正則表達式有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南汇区| 桑日县| 灵宝市| 安图县| 饶平县| 延吉市| 张北县| 通道| 盱眙县| 城口县| 清新县| 伊宁市| 家居| 顺平县| 汝阳县| 宾川县| 襄樊市| 广州市| 小金县| 昭通市| 宜丰县| 怀宁县| 峨边| 循化| 嘉鱼县| 华坪县| 灵山县| 绥德县| 台中县| 新昌县| 阿鲁科尔沁旗| 吉安县| 罗城| 浦县| 广宗县| 海盐县| 盐池县| 三都| 清徐县| 安顺市| 蓬安县|