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

首頁 > 編程 > regex > 正文

Java正則表達式使用

2020-01-20 22:10:03
字體:
來源:轉載
供稿:網友

一:抓取網頁中的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在正則表達式的使用,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临颍县| 乌苏市| 疏附县| 内乡县| 闽清县| 满洲里市| 逊克县| 万盛区| 隆回县| 阳东县| 大英县| 普兰县| 临澧县| 新晃| 古蔺县| 新沂市| 松阳县| 盐边县| 吉水县| 雅江县| 左云县| 铜陵市| 临颍县| 余姚市| 韶山市| 林西县| 西峡县| 桂东县| 浪卡子县| 滁州市| 阿拉善盟| 碌曲县| 库尔勒市| 龙川县| 通渭县| 崇文区| 阜新市| 海宁市| 师宗县| 察隅县| 齐河县|