调用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()); } } }原文链接:https://www.f2er.com/regex/361114.html