首先,我知道不建议对电子邮件使用正则表达式,但我必须对此进行测试。
我有这个正则表达式:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
在 Java 中,我这样做了:
Pattern p = Pattern.compile("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");
Matcher m = p.matcher("foobar@gmail.com");
if (m.find())
System.out.println("Correct!");
但是,无论电子邮件格式是否正确,正则表达式都会失败。 Eclipse 中的“查找和替换”可以很好地处理相同的正则表达式。
任何想法?
谢谢,
原文由 Tu Hoang 发布,翻译遵循 CC BY-SA 4.0 许可协议
FWIW,这是我们用来验证电子邮件地址的 Java 代码。正则表达式非常相似:
工作相当可靠。