A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. import java.io.*;
  2. import java.net.*;
  3. import java.util.regex.*;
  4. class UrlDemo
  5. {
  6.         public static void main(String[] args) throws Exception
  7.         {
  8.                 URL url = new URL("http://www.csdn.net");
  9.                 URLConnection conn = url.openConnection();
  10.                 String rex = "[https]{4,5}[:][/]{2}\\w+(\\.\\w+)+(/\\w+)*(\\.\\w+)?(\\?\\w+\\=\\-?\\w+)*(\\&\\w+\\=\\-?\\w+)*";
  11.                 Pattern p = Pattern.compile(rex);
  12.                
  13.                 BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\csdn.txt"));
  14.                 BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  15.                 String line = null;
  16.                 while((line = br.readLine())!=null)
  17.                 {
  18.                         Matcher m = p.matcher(line);
  19.                         while(m.find())
  20.                         {
  21.                                 bw.write(m.group());
  22.                                 bw.newLine();
  23.                                 bw.flush();
  24.                         }
  25.                 }
  26.                 br.close();
  27.                 bw.close();
  28.         }
  29. }
复制代码

3 个回复

正序浏览
"[https]{4,5}[:][/]{2}\\w+(\\.\\w+)+(/\\w+)*(\\.\\w+)?(\\?\\w+\\=\\-?\\w+)*(\\&\\w+\\=\\-?\\w+)*";
这个正则表达式是用来筛选网址的,如果看不懂什么意思的话就去看看毕老师第25天的课程吧,讲的很清晰的
回复 使用道具 举报
抓网址的吧,是http://开头就算符合。?
回复 使用道具 举报
{:soso_e103:} 看不明白干什么使的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马