我是regex的新手。 我正在使用正则表达式检查电子邮件ID。
以下是我的代码,以便<xyz@xyz.com>
与xyz@xyz.com
Pattern p = Pattern.compile("\\<(.*?)\\>");
Matcher m = p.matcher("<xyz@xyz.com>");
它的工作正常。现在,我想将<xyz@xyz.com>
或[xyz@xyz.com]
与xyz@xyz.com
匹配。
任何建议都将受到赞赏。
答案 0 :(得分:1)
Pattern p = Pattern.compile("(<(.*?)>|\\[(.*?)])");
答案 1 :(得分:1)
Pattern p = Pattern.compile("[\\[\\<](.*?)[\\]\\>]");
Matcher m = p.matcher("[xyz@xyz.com]");
System.out.println(m.matches());
答案 2 :(得分:1)
首先<
或>
不是正则表达式的特殊字符,因此您不必使用\
你的正则表达式应该是这样的:
"(<|\\])(.*?)\\1"
但此正则表达式不会检查电子邮件地址是有效还是不如果您想要控制电子邮件是否有效,您将使用此正则表达式:
"(<|\\])([\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4})\\1"
但不应使用正则表达式进行电子邮件验证
答案 3 :(得分:1)
使用
Pattern p = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
Matcher m = p.matcher("<abc@abc.com>");
参考 http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/