package cn.com; //利用正则表达式找出文件里的所有邮件地址 //总结: //String mailreg="\\w+@\\w+\\.\\w+";此句错误 //它可以发现ava@sohu.com这种类型,但是无法发现ava@sohu.com.cn这种类型。 //所以需要修改为String mailreg="\\w+@\\w+(\\.\\w+)+";因为\\.\\w+这个整体可以出现多次 import java.util.regex.*; import java.io.*; class Test7 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader("f:\\mail.txt")); // String mailreg="\\w+@\\w+\\.\\w+";//一定要注意这个表达式!此句错误。如下改正: String mailreg = "\\w+@\\w+(\\.\\w+)+"; String line =null; Pattern pa = Pattern.compile(mailreg); while ((line = br.readLine()) != null) { Matcher ma = pa.matcher(line); while (ma.find()) { System.out.println(ma.group()); } } } }