使用带有posix语法的正则表达式来验证电子邮件地址

时间:2014-12-02 11:54:56

标签: java regex

以下是我们必须用于电子邮件验证的验证。

使用posix语法:

^[[:graph:]]\\+@[[:graph:]]\\+\\.[[:graph:]]\\+$

我已经编写了示例程序来验证,但我没有给出正确的电子邮件地址来实现posix语法正则表达式。你能不能请任何人帮我解决我的Java示例。

Java示例:

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class RegexMatches {

    public static void main(String args[]) {

      String email = "sudheer@gmail.com";
      String pattern ="^[[:graph:]]\\+@[[:graph:]]\\+\\.[[:graph:]]\\+$";
      //String pattern = ".+@.+\\.[a-z]+";// This is Working fine.

      if (!testRegex(email, pattern))
        System.out.println("Validator Exception");
      else
        System.out.println("Success");
    }

     public static boolean testRegex(String value, String regex) {
       Pattern pattern = Pattern.compile(regex);
       Matcher matcher = pattern.matcher(value);
       return matcher.matches();
    }
}

1 个答案:

答案 0 :(得分:1)

在java中你可以使用:

String pattern ="^\\p{Graph}+@\\p{Graph}+\\.\\p{Graph}+$";

Reference

  • 在Java中使用\\p{Graph}用于POSIX
  • 中的[[:graph:]]
  • 无需使用双重转义量词+