黑马程序员技术交流社区

标题: 正则表达式匹配Email地址问题 [打印本页]

作者: adamjy    时间: 2014-4-7 20:47
标题: 正则表达式匹配Email地址问题
求教,用以下正则表达式为什么正确的email地址匹配的结果是false?

  1. public class EmailMatch {
  2.         public static void main(String[] args) {
  3.                 System.out.println("result = " + emailValidator("adam6790@163.com"));
  4.         }
  5.         public static boolean emailValidator(String email)
  6.         {
  7.             Pattern pattern;
  8.             Matcher matcher;
  9.             final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
  10.             pattern = Pattern.compile(EMAIL_PATTERN);
  11.             matcher = pattern.matcher(email);
  12.             return matcher.matches();
  13.         }
  14. }
复制代码

作者: 911趣购    时间: 2014-4-8 03:16
  1. public class EmailMatch {
  2.         public static void main(String[] args) {
  3.                 System.out.println("result = " + emailValidator("adam6790163.cn"));
  4.         }
  5.         public static boolean emailValidator(String email)
  6.         {
  7.             Pattern pattern;
  8.             Matcher matcher;
  9.             final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+@[A-Za-z0-9]+(\\.[A-Za-z]{2,})$";
  10.             pattern = Pattern.compile(EMAIL_PATTERN);
  11.             matcher = pattern.matcher(email);
  12.             return matcher.matches();
  13.         }
  14. }
复制代码

楼主  你复杂化 了   用这个正则表达式就OK了    ^[_A-Za-z0-9-]+@[A-Za-z0-9]+([url=file://\\.[A-Za-z]{2,})$]\\.[A-Za-z]{2,})$[/url]




作者: 王春蕾    时间: 2014-4-11 16:48
额。。。楼主的正则表达式真心好复杂的样子~~估计应该是表达式的错误的,给你一个正确的匹配Email的正则表达式  "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"不谢;P




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2