Running.
Java regular expressions are used.
package com.xujin;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.regex.Matcher;import java.util.regex.Pattern;public class FindMail{public static void main(String...args) throws IOException{FindMail findmail = new FindMail();findmail.matchMail(findmail.readFile());}private String readFile() throws IOException{BufferedReader in = new BufferedReader(new FileReader("source.txt"));String s;StringBuilder sb = new StringBuilder();while((s = in.readLine()) != null)sb.append(s + "\n");in.close();return sb.toString();}private void matchMail(String source) throws IOException{String regex = "[a-zA-z\\.[0-9]]*@[a-zA-z[0-9]]*\\.com";Pattern p = Pattern.compile(regex);Matcher m = p.matcher(source);PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("mailCollect.txt")));String mail;while(m.find()){mail = "[No." + num++ + "] " + m.group().toString();//System.out.println(mail);out.println(mail + "\n");}out.close();}private static int num = 1;}
Result: