Java使用正则表达式搜索文本内所有的email地址并打印出来
Java使用正则表达式搜索文本内所有的email地址并打印出来
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(); } } }