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正则表达式实例,为开发者提供了一个快速参考的工具,帮助他们在开发过程中快速有效地实现数据验证功能。理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际...
正则表达式是一种强大的文本处理工具,常用于在Java编程中进行字符串的匹配、查找、替换等操作。在Java中,正则表达式是通过...通过阅读《Java正则表达式教程.mht》这样的资料,你可以进一步学习和掌握这一强大的工具。
在本案例中,我们关注的是如何使用C#编程语言来编写正则表达式,从HTML文档中提取所有的电子邮件地址。下面将详细阐述这个过程。 首先,电子邮件地址通常遵循一定的格式,例如`username@example.com`。一个基本的...
以下是对给定文件中的正则表达式知识点的详细解析: ### 1. 匹配中文字符 正则表达式:`[\u4e00-\u9fa5]` 此表达式用于匹配中文字符,其中`\u4e00`到`\u9fa5`是Unicode编码范围内的中文字符。在处理包含中文的...
这个程序首先将HTML内容转换成纯文本,然后用正则表达式匹配出所有可能的电子邮件地址,并打印出来。需要注意的是,这种方法并不能保证100%准确,因为有些网页可能会使用JavaScript动态生成邮件地址,或者通过其他...
### Java正则表达式大全:菜鸟也能玩转 在Java编程语言中,正则表达式是一种强大的工具,用于处理字符串的搜索、替换等操作。它能够帮助开发者更加灵活...希望本文能帮助你在日常开发中更加高效地使用Java正则表达式。
例如,要从格式为“June26,1951”的生日日期中提取出月份部分,可以使用正则表达式`/(\w+)\d+\,\d+/`,其中`(\w+)`表示捕获一个或多个字母字符。`/(\w+)\d+\,\d+/`将整个日期作为目标,而月份则被定义为第一个捕获组...
在提供的压缩包文件中,我们可以看到几个可能与正则表达式解析库相关的文件: 1. `example.cpp`: 这可能是一个C++源代码文件,展示了如何使用正则表达式库的一个示例。 2. `regular.dsp`: 这可能是Visual Studio的...
在提供的文件中,如"正则表达式的使用方法.mht"、"正则.txt"等,可能会详细介绍更多的正则表达式用法、特殊字符和预定义字符类,以及如何在实际项目中应用它们。这些资源对于深入理解和掌握正则表达式非常有帮助,...
### JAVA正则表达式语法大全 #### 正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的强大工具,在编程中广泛应用于文本搜索、替换等操作。Java中的正则表达式支持标准的正则表达式语法,并通过`java.util...
根据提供的标题、描述、标签及部分内容,我们可以整理出关于Java正则表达式的多个知识点。以下是对这些内容的详细解析: ### Java正则表达式基础知识 #### 1. 基本概念 - **正则表达式**:一种用于匹配字符串模式...
本文将详细介绍如何使用Java中的正则表达式来判断一个电子邮件地址是否合法。 #### 标题与描述解读 标题“Java用正则表达式判断电子邮件地址是否合法”明确指出了解决的问题——利用Java编程语言中的正则表达式...
以上列出的正则表达式覆盖了各种常见场景,从简单的数字验证到复杂的字符串匹配,是Java开发中非常实用的工具。在实际应用时,可以根据具体需求调整这些表达式,以满足更复杂的数据校验和处理任务。
使用Java正则表达式的基本步骤: 1. 创建一个`Pattern`对象,使用`Pattern.compile()`方法编译正则表达式字符串。 2. 创建一个`Matcher`对象,通过调用`Pattern`的`matcher()`方法并传入待匹配的字符串。 3. 使用`...
### 使用Java正则表达式实现一个简单的邮箱地址验证 #### 概述 本文将详细介绍如何使用Java中的正则表达式来实现对邮箱地址格式的有效验证。通过定义一个名为`EmailValidator`的类,并在其内部使用Java标准库中的`...
### 常用正则表达式详解 #### 匹配中文字符 - **正则表达式**: `[\u4e00-\u9fa5]` - **应用场景**: - 文本处理与分析。 - 数据清洗时,用于识别并处理中文文本中的特定字符。 - **特点**: - `\u4e00` 至 `\u9fa5...
### Java正则表达式的应用与理解 #### 一、引言 正则表达式作为一种强大的字符串处理工具,自诞生以来就在计算机科学领域扮演着至关重要的角色。最初由数学家Stephen Kleene提出,正则表达式逐渐发展成为一种普遍...