Java使用正则表达式搜索文本内所有的email地址并打印出来
代码语言:javascript复制import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SearchAddress {//TODO 创建查找地址类
/**
* @author liuxuewei
*/
public static void main(String []args) throws IOException{
try {
BufferedReader in=new BufferedReader(new FileReader("<a href="F://Java">F://Java编程//text1.txt"));
Pattern regex=Pattern.compile("(\\w[-.\\w]*\\@[-a-z0-9] (\\.[-a-z0-9] )*\\.(com|edu|info))", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);
String tempstr=new String();
String str=new String();
String find=null;
while((tempstr=in.readLine())!=null){
str=str tempstr "\n";
}
Matcher mat=regex.matcher(str);
while(mat.find()){//TODO 测试regex
find=mat.group(1);
System.out.println("Find:" find);
System.out.println("匹配的正则式:" regex.pattern());//输出匹配的正则表达式
}
if(find==null)
System.out.print("Can't Find");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}</pre>