多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Java正則表達式應用

Java正則表達式應用

來源:程序員人生   發布時間:2017-01-23 20:05:41 閱讀次數:2713次

學習Java的同學注意了?。?! 
學習進程中遇到甚么問題或想獲得學習資源的話,歡迎加入Java學習交換群,群號碼:183993990  我們1起學Java!


1:抓取網頁中的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的知識,你可以群發垃圾郵件了,呵呵?。?!

2:代碼統計

復制代碼
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) {
        //找到某個文件夾,該文件夾下面在沒有文件夾,這里沒有寫遞歸處理不在同1文件夾的文件
        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("*/")) {
                    //統計1行/**/
                    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學習交換群,群號碼:183993990  我們1起學Java!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 狂野欧美性猛交xxxx | 日韩精品在线播放 | 亚洲精品嫩草研究院久久 | free俄罗斯性xxxxhd大陆 | 看欧美毛片一级毛片 | 欧美三级小视频 | 日本特黄特色大片免费播放视频 | 亚洲国产精品久久综合 | 激情影院在线视频永久观看 | 亚欧乱色 | 欧美性free xxx | 国产91精品久久久久久 | 欧美精品第一页 | 免费看黄色的网址 | 国产精品99久久久久久www | 日韩午夜网站 | 亚洲欧洲一区二区三区 | 中文亚洲日韩欧美 | 亚洲视频在线一区二区 | 免费一区二区三区 | 女人洗澡一级特黄毛片 | 男女在线免费视频 | 欧美亚洲另类久久综合 | 日本不卡视频 | 欧美日本一二三区 | 日本三级午夜理伦三级三 | 欧美成人性生活 | 欧美三级短视频 | 免费看的黄色网址 | 欧美巨大xxxx做受中文字幕 | 最新亚洲精品 | 亚洲欧美精品日韩欧美 | 黄影院 | 欧美黑人巨大xxxxx视频 | 亚洲图片欧美在线 | vvideos欧美极度另类 | 国产美女亚洲精品久久久毛片 | 欧美色图偷窥自拍 | 妇欲欢公爽公妇高h欲 | 成人精品视频在线观看 | 伊人网大香 |