package cn.tms.ui;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class Test {
public static void main(String[] args) throws Exception {
// 在本地创建一个.txt文件
File file = new File("e://rz.txt");
// 链接到需要提取内容的网页
URL url = new URL("http://tieba.baidu.com/p/4529628420 ");
// 打开连接
URLConnection conn = url.openConnection();
// 设置连接网络超时时间
conn.setConnectTimeout(1000 * 10);
// 读取指定网络地址中的文件 (输入缓冲流)
BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
// 将内容保存到text.txt文件中(输出缓冲流)
Writer wt = new FileWriter(file, true);
// 将字符流包装成缓冲流
PrintWriter pw = new PrintWriter(wt, true); String line = null;
// 匹配email的正则
String regex = "[a-zA-Z0-9_-]+@\\w+\\.[a-z]+(\\.[a-z]+)?";
Pattern p = Pattern.compile(regex);
while ((line = bufr.readLine()) != null) {
Matcher m = p.matcher(line);
while (m.find()) {
// 写入到文件
pw.write(m.group());
// 获得匹配的email
System.out.println(m.group());
}
}
// 刷新输出流
pw.flush();
// 先关闭输出流
pw.close();
// 关闭输入流
bufr.close(); } }

Java中利用正则表达式获取一个网页中的所有邮箱地址的更多相关文章

  1. 简单的Java网络爬虫(获取一个网页中的邮箱)

    import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...

  2. Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码

    通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 ...

  3. Java 中 利用正则表达式 获取 网页图片

    import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.URL;i ...

  4. java中利用正则表达式获取a标签

    // 设置新闻内容 notice.setContent(editorValue); Matcher m = Pattern.compile("<a[^>]*>([^< ...

  5. (转)Java中使用正则表达式的一个简单例子及常用正则分享

    转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...

  6. Java 获取一个字符串中,另一个字符串出现的次数

    Java 获取一个字符串中,另一个字符串出现的次数 思想: 1. indexOf到字符串中到第一次出现的索引2. 找到的索引+被找字符串长度,截取字符串3. 计数器++ 代码实现: public cl ...

  7. 获取一个字符串中每一个字母出现的次数使用map集合

    package 获取字符串中单字符出现次数; import java.util.Scanner; import java.util.TreeMap; /* * 需求:获取一个字符串中每一个字母出现的次 ...

  8. 如何获取一个AlertDialog中的EditText中输入的内容

    怎么获取一个AlertDialog中的EditText中输入的内容? new AlertDialog.Builder(this)   .setTitle("请输入")   .set ...

  9. Java中是否可以调用一个类中的main方法?

    前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...

随机推荐

  1. [atARC076E]Connected

    首先,如果没有这个平面的限制,考虑不断插入一对点,将与这两点连线有交的线从左到右,依次"移动"到左端点边上,因此一定是可行的 但当存在界限后,对于两个端点都在边界上的点对(一个端点 ...

  2. 数值分析:幂迭代和PageRank算法(Numpy实现)

    1. 幂迭代算法(简称幂法) (1) 占优特征值和占优特征向量 已知方阵\(\bm{A} \in \R^{n \times n}\), \(\bm{A}\)的占优特征值是比\(\bm{A}\)的其他特 ...

  3. Codeforces 1368H - Breadboard Capacity(最小割+线段树维护矩阵乘法)

    Easy version:Codeforces 题面传送门 & 洛谷题面传送门 Hard version:Codeforces 题面传送门 & 洛谷题面传送门 首先看到这种从某一种颜色 ...

  4. Atcoder Typical DP Contest S - マス目(状压 dp+剪枝)

    洛谷题面传送门 介绍一个不太主流的.非常暴力的做法( 首先注意到 \(n\) 非常小,\(m\) 比较大,因此显然以列为阶段,对行的状态进行状压.因此我们可以非常自然地想到一个非常 trivial 的 ...

  5. ACAM 题乱做

    之前做了不少 ACAM,不过没怎么整理起来,还是有点可惜的. 打 * 的是推荐一做的题目. I. *CF1437G Death DBMS 见 我的题解. II. *CF1202E You Are Gi ...

  6. 区分wsgi、uWSGI、uwsgi、php-fpm、CGI、FastCGI

    在学习Python web开发时候,可能会遇到诸如uwsgi,wsgi等名词,下面通过梳理总结探究它们之间的关系. CGI CGI,(Common Gateway Interface)通用网关接口,是 ...

  7. 【GS应用】基因组选择在杂交玉米上的应用示例

    目录 GS两步走 示例 缩短周期和成本 分类 杂交类型 试验研究 选择响应 选择的强度 选择的周期 预测能力 数据分析的注意事项 GS实施 优缺点 GS的成功 展望 GS两步走 示例 缩短周期和成本 ...

  8. Excel-数据分列的多种方法实现

    2.数据->分列 (数据格式统一的精准分列)<=> 手动快捷键ctrl+E+等待 ("模糊模仿""分列)<=> 用函数实现(精准分列) 用函 ...

  9. python函数初体验

    函数 函数参数w 形式参数>>>>(被指定具体的值)默认参数, 实际参数是调用时候的实际指定参数 我们把函数⾥⾯的参数叫形式函数,函数实际调⽤的时候,赋予的参数叫实际函数 定义 ...

  10. 使用systemd将iptables规则在docker启动后自动导入

    编写systemd文件 $ sudo vi /etc/systemd/system/iptables-import.service # /etc/systemd/system/iptables-imp ...