首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

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

2013-11-09 
Java 使用正则表达式从文件中解析出所有email地址import java.io.Fileimport java.io.IOExceptionimport

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.comtesttest@sina.comtest1@sina.comtest@sina.comxxxx@sina.comtest@sina.commatched [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]

热点排行