这是我们必须用于电子邮件验证的验证。
使用 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();
}
}
最佳答案
在java中你可以使用:
String pattern ="^\\p{Graph}+@\\p{Graph}+\\.\\p{Graph}+$";
- 在 Java 中使用
\\p{Graph}
来表示 POSIX 中的[[:graph:]]
- 无需使用双转义量词
+
关于java - 使用 posix 语法的正则表达式来验证电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27248815/