调用String类里面的matches(regex)方法进行正则匹配
package 正则表达式;
/* 对邮件地址进行校验:
String mail = "abc123@sina.com";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";较为精确的匹配。
reg = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配
*/
public class Test {
public static void main(String[] args) {
// Todo Auto-generated method stub
String mail = "abc123@sina.com";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确的匹配。
String reg2 = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配
boolean flag=mail.matches(reg);//或者改为reg2
if(flag)
System.out.println("邮件格式正确");
else
System.out.println("邮件格式不正确");
}
}
从一个字符串中匹配出一个格式正确的邮件地址:
package 正则表达式;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String str = "abc+123@sina.c_呵呵om.++呵呵呵";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确的匹配。
String reg2 = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配
Pattern p = Pattern.compile(reg2);//或者改为reg
Matcher m = p.matcher(str);
//public boolean find()
//尝试查找与该模式匹配的输入序列的下一个子序列。
//此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始.
while(m.find())
{
System.out.println(m.group());
}
}
}