麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java正則表達式簡單使用和網頁爬蟲的制作代碼

2019-11-26 16:06:55
字體:
來源:轉載
供稿:網友

正則表達式是一種專門用于對字符串的操作的規則。

1.在String類中就有一些方法是對字符串進行匹配,切割。

判斷字符串是否與給出的正則表達式匹配的:boolean matches( String regex);

按照給定的正則表達式對字符串進行切割的:String[]    split(String regex);

將符合正則表達式的字符串替換成我們想要的其他字符串:String  replaceAll(String  regex,String replacement)


2.下面介紹一下正則表達式常用的用法

(1)

復制代碼 代碼如下:

String regex="[1-9][0-9]{4,15}";
//[1-9]表示這個數字只能在1-9內選擇
//[0-9]表示這個數字可以是0-9
//{4,15}表示其前面的這個格式的數字可以重復4-15次

這個正則表達式的意思 是:第一個數字應該是1-9中任意的一個,然后緊接著就必須要出現0-9中的數字中的一種,而且這種數字至少要出現4次,至多出現15次

如:

10175   符合 

10不符合,因為[0-9]{4,15},至少要出現4次以上,在這里只出現了一次

(2)

[a-zA-Z0-9_]{6}表示恰好要出現6次a-z或A-Z或_  中的字符

+表示至少出現一次

*表示出現0次或多次

?表示出現一次或0次


(3)根據正則表達式來切割字符串

復制代碼 代碼如下:

String str="sjd.ksdj.skdjf";

String regex="http://.";


注意:  . 在正則表達式中是表式一個任意的字符,是一個特殊的符號。我們想要用.來切割,就必須將其轉換為普通字符 用//即可。

因為/ 也是特殊符號,所以要兩個//來表示。當我們想要使用普通的 / 時,那么就要用////來表示才可。

String[] ss=str.split(regex); 返回字符串數組: "sjd"  "ksdj"  "skdjf"  實現 了對原有字符串的切割

(4)根據正則表達式來替換掉我們想要替換的東西

將字符串中所有連續出現5個或以上的數字串替換成#

復制代碼 代碼如下:

String str="abcd1334546lasjdfldsf2343424sdj";

String regex="[0-9]{5,}";

String   newstr=str.replaceAll(regex,"#");

(5)獲取符合正則表達式規則的字符串

復制代碼 代碼如下:

Pattern p=Pattern.compile(String regex);

Matcher  m=p.matcher(String str);

while(m.find())

{

System.out.println(m.group());

}

3.網頁爬蟲的制作

我們制作 一個可以將一個網頁中的全部的郵箱讀取出,并且存放在一個文本文件中。

復制代碼 代碼如下:

/*
網頁爬蟲
即:從網頁中獲取符合正則表達式的字符串或內容

從網絡中獲取郵箱地址
*/
import java.io.*;
import java.util.regex.*;
import java.net.*;
class  MailTest
{
 public static void main(String[] args) throws Exception
 {
  getMailAddr();
 }

 public static void getMailAddr()throws Exception
 {
  URL url=new URL("http://bbs.VeVB.COm/topics/390148495");
  URLConnection con=url.openConnection();

  BufferedReader bufIn=new BufferedReader(new InputStreamReader(con.getInputStream()));
  BufferedWriter bufw=new BufferedWriter(new FileWriter(new File("e://mailaddress.txt")));
  String str=null;
  String regex="[a-zA-Z0-9_]{6,12}@[a-zA-Z0-9]+(//.[a-zA-Z]+)+";

  Pattern p=Pattern.compile(regex);
  while((str=bufIn.readLine())!=null)
  {
   Matcher m=p.matcher(str);
   while(m.find())
   {
    String ss=m.group();
    bufw.write(ss,0,ss.length());
    bufw.newLine();
    bufw.flush();
   }
  }


 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久午夜片 | 91在线视频在线观看 | 久久久久国产成人精品亚洲午夜 | 超碰97最新| 精品一区二区三区不卡 | 双性精h调教灌尿打屁股的文案 | 午夜影视一区二区 | 99精品国产成人一区二区 | 大逼逼影院 | av手机在线免费播放 | 在线观看一区二区三区四区 | 欧美女孩videos| 国产精品视频自拍 | 国产视频第一区 | 欧美日韩一区,二区,三区,久久精品 | 黄色片视频在线观看 | 午夜a狂野欧美一区二区 | 国产精品久久久久国产精品三级 | 91色成人| 舌头伸进添的我好爽高潮网站 | 精国产品一区二区三区 | 92看片淫黄大片欧美看国产片 | 成人444kkkk在线观看 | 黄色电影免费提供 | 羞羞的视频在线免费观看 | 操操电影| 久久亚洲美女视频 | 日本在线一区二区 | 精精国产xxxx视频在线野外 | 天天草夜夜爽 | 欧美成在线视频 | 免费毛片电影 | 狠狠操天天射 | 久久综合给合久久狠狠狠97色69 | 欧美视频一区二区三区在线观看 | japan护士性xxxⅹhd | 黄色一级片在线免费观看 | 一级一级一级毛片 | 二区三区四区视频 | 日韩视频在线不卡 | 97风流梦电影 |