`

Java 使用正则表达式从文件中解析出所有email地址

阅读更多


import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.io.FileUtils;

/**
 * 提取邮件地址
 * @author Roger Federer
 * @date 2013-10-16 下午13:27:00
 */
public class EmailParser {
	
	private final static Pattern emailer = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");
	
	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		//String txt = FileUtils.readFileToString(new File(args[0]));
		String txt = "test@sina.comtest@sina.com test@sina.com test1@sina.com test@sina.com xxxx@sina.com,test@sina.com";
		//System.out.println(txt);
		Matcher matchr = emailer.matcher(txt);
		while (matchr.find()) {
			String email = matchr.group();
			System.out.println(email);
		}
		
		Matcher matcher = emailer.matcher(txt);
		String matchecText = null;
		int matchedFrom = 0;
		int matchedTo = 0;
		while (matcher.find()) {
			matchecText = matcher.group();
			matchedFrom = matcher.start();
			matchedTo = matcher.end();
			System.out.println("matched [" + matchecText + "] from [" + matchedFrom + "] to [" + matchedTo + "]" );
		}
	}

}


运行结果:
test@sina.comtest
test@sina.com
test1@sina.com
test@sina.com
xxxx@sina.com
test@sina.com
matched [test@sina.comtest] from [0] to [17]
matched [test@sina.com] from [27] to [40]
matched [test1@sina.com] from [41] to [55]
matched [test@sina.com] from [56] to [69]
matched [xxxx@sina.com] from [70] to [83]
matched [test@sina.com] from [84] to [97]
分享到:
评论

相关推荐

    常用正则表达式HTML,JAVA合集

    这个合集提供的HTML和Java正则表达式实例,为开发者提供了一个快速参考的工具,帮助他们在开发过程中快速有效地实现数据验证功能。理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际...

    正则表达式在Java代码中的使用

    正则表达式是一种强大的文本处理工具,常用于在Java编程中进行字符串的匹配、查找、替换等操作。在Java中,正则表达式是通过...通过阅读《Java正则表达式教程.mht》这样的资料,你可以进一步学习和掌握这一强大的工具。

    正则表达式提取html中的所有的Email地址

    在本案例中,我们关注的是如何使用C#编程语言来编写正则表达式,从HTML文档中提取所有的电子邮件地址。下面将详细阐述这个过程。 首先,电子邮件地址通常遵循一定的格式,例如`username@example.com`。一个基本的...

    正则表达式列举 代码 项目中直接使用

    以下是对给定文件中的正则表达式知识点的详细解析: ### 1. 匹配中文字符 正则表达式:`[\u4e00-\u9fa5]` 此表达式用于匹配中文字符,其中`\u4e00`到`\u9fa5`是Unicode编码范围内的中文字符。在处理包含中文的...

    使用正则表达式抓取页面Email

    这个程序首先将HTML内容转换成纯文本,然后用正则表达式匹配出所有可能的电子邮件地址,并打印出来。需要注意的是,这种方法并不能保证100%准确,因为有些网页可能会使用JavaScript动态生成邮件地址,或者通过其他...

    java 正则表达式大全 菜鸟也能玩转

    ### Java正则表达式大全:菜鸟也能玩转 在Java编程语言中,正则表达式是一种强大的工具,用于处理字符串的搜索、替换等操作。它能够帮助开发者更加灵活...希望本文能帮助你在日常开发中更加高效地使用Java正则表达式。

    js正则表达式详解

    例如,要从格式为“June26,1951”的生日日期中提取出月份部分,可以使用正则表达式`/(\w+)\d+\,\d+/`,其中`(\w+)`表示捕获一个或多个字母字符。`/(\w+)\d+\,\d+/`将整个日期作为目标,而月份则被定义为第一个捕获组...

    正则表达式解析库

    在提供的压缩包文件中,我们可以看到几个可能与正则表达式解析库相关的文件: 1. `example.cpp`: 这可能是一个C++源代码文件,展示了如何使用正则表达式库的一个示例。 2. `regular.dsp`: 这可能是Visual Studio的...

    常用正则表达式举例说明

    在提供的文件中,如"正则表达式的使用方法.mht"、"正则.txt"等,可能会详细介绍更多的正则表达式用法、特殊字符和预定义字符类,以及如何在实际项目中应用它们。这些资源对于深入理解和掌握正则表达式非常有帮助,...

    JAVA正则表达式语法大全

    ### JAVA正则表达式语法大全 #### 正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的强大工具,在编程中广泛应用于文本搜索、替换等操作。Java中的正则表达式支持标准的正则表达式语法,并通过`java.util...

    java正则表达式大全。。

    根据提供的标题、描述、标签及部分内容,我们可以整理出关于Java正则表达式的多个知识点。以下是对这些内容的详细解析: ### Java正则表达式基础知识 #### 1. 基本概念 - **正则表达式**:一种用于匹配字符串模式...

    java用正则表达式判断电子邮件地址是否合法.doc

    本文将详细介绍如何使用Java中的正则表达式来判断一个电子邮件地址是否合法。 #### 标题与描述解读 标题“Java用正则表达式判断电子邮件地址是否合法”明确指出了解决的问题——利用Java编程语言中的正则表达式...

    Java常见的正则表达式语法

    以上列出的正则表达式覆盖了各种常见场景,从简单的数字验证到复杂的字符串匹配,是Java开发中非常实用的工具。在实际应用时,可以根据具体需求调整这些表达式,以满足更复杂的数据校验和处理任务。

    java-SAX解析XML、java正则表达式.

    使用Java正则表达式的基本步骤: 1. 创建一个`Pattern`对象,使用`Pattern.compile()`方法编译正则表达式字符串。 2. 创建一个`Matcher`对象,通过调用`Pattern`的`matcher()`方法并传入待匹配的字符串。 3. 使用`...

    使用Java正则表达式实现一个简单的邮箱地址验证.txt

    ### 使用Java正则表达式实现一个简单的邮箱地址验证 #### 概述 本文将详细介绍如何使用Java中的正则表达式来实现对邮箱地址格式的有效验证。通过定义一个名为`EmailValidator`的类,并在其内部使用Java标准库中的`...

    常用正则表达式******

    ### 常用正则表达式详解 #### 匹配中文字符 - **正则表达式**: `[\u4e00-\u9fa5]` - **应用场景**: - 文本处理与分析。 - 数据清洗时,用于识别并处理中文文本中的特定字符。 - **特点**: - `\u4e00` 至 `\u9fa5...

    java正则表达式----pdf文档 简明扼要

    ### Java正则表达式的应用与理解 #### 一、引言 正则表达式作为一种强大的字符串处理工具,自诞生以来就在计算机科学领域扮演着至关重要的角色。最初由数学家Stephen Kleene提出,正则表达式逐渐发展成为一种普遍...

Global site tag (gtag.js) - Google Analytics