校验邮箱地址:
import java.util.*;
/*
需求:对邮件地址进行校验。
*/
class MailTest
{
public static void main(String[] args)
{
checkMail();
}
public static void checkMail()
{
String mail = "abc12@sina.com.cn";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";//精确的匹配。
System.out.println(mail+"::"mail.matches(reg));
}
获取文字里的邮箱地址:
import java.io.*;
import java.util.regex.*;
import java.net.*;
import java.util.*;
class GetMails
{
public static void main(String[] args) throws Exception
{
getMails_1();//获取一个网页里的邮箱地址
getMails_2();//获取一个文档里的邮箱地址
}
public static void getMails_1()throws Exception
{
URL url = new URL("http://192.168.0.109:8080/myweb/mail.html");//指定访问的服务器和具体网页
URLConnection conn = url.openConnection();//将客户端与这个服务器连接,其实返回的是HttpURLConnection对象
BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));//读取流,已经过了字节到字符的转换
String line = null;
String mailreg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";//定义匹配格式
Pattern p = Pattern.compile(mailreg);//编译一个和格式相关的Pattern对象
while((line=bufIn.readLine())!=null)//操作读到的每一行
{
Matcher m = p.matcher(line);//返回一个匹配引擎对象
while(m.find())//用引擎找符合格式的字符串
{
System.out.println(m.group());//找到了就打印出来
}
}
}
public static void getMails_2()throws Exception
{
BufferedReader bufr =
new BufferedReader(new FileReader("mail.txt"));//读文档
String line = null;
String mailreg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";//定义匹配格式
Pattern p = Pattern.compile(mailreg);//编译一个和格式相关的Pattern对象
while((line=bufr.readLine())!=null)//操作读到的每一行
{
Matcher m = p.matcher(line);//返回一个匹配引擎对象
while(m.find())//用引擎找符合格式的字符串
{
System.out.println(m.group());//找到了就打印出来
}
}
}
}