在此示例中,我们使用String的classmatches()方法根据给定的正则表达式将字符串匹配为有效的电子邮件地址。
此示例还演示了正则表达式验证电子邮件地址的功能。使用正则表达式可以更轻松地验证电子邮件等数据。在代码之后,您将看到以下代码中使用的正则表达式的含义。
package org.nhooo.example.lang; public class EmailAddressValidation { private static final String EMAIL_REGEX = "^[\\w-_\\.+]*[\\w-_\\.]\\@([\\w]+\\.)+[\\w]+[\\w]$"; public static void main(String[] args) { EmailAddressValidation validator = new EmailAddressValidation(); System.out.println("isValid = " + validator.isValidEmailAddress("user@domain.com")); System.out.println("isValid = " + validator.isValidEmailAddress("user.name@domain.com")); System.out.println("isValid = " + validator.isValidEmailAddress("user.name@domain.com.sg")); System.out.println("isValid = " + validator.isValidEmailAddress("user.domain.com.sg")); } /** * Validates email address against email regular expression. * * @param email an email address to check * @return true if email address is valid otherwise return false. */ private boolean isValidEmailAddress(String email) { return email.matches(EMAIL_REGEX); } }
第一^[\w-_\.+]。这些^符号表示检查第一个字符。此正则表达式处理器,电子邮件地址应以字母数字值(az 0-9)组成的单词字符开头,也可以是连字符,下划线,点或加号。
第二部分*[\w-_\.]。该*符号表示匹配前面的零次或多次。作为第一部分,它告诉正则表达式处理器检查其他零个或多个字符,它还可以包含连字符,下划线和点。
第三部分\@([\w]+\.)+。进行检查,确认电子邮件地址中应包含该@符号,然后是一个或多个单词,并用点号分隔。
最后一部分是,[\w]+[\w]$检查在最后一个句号之后是否应该有另一个用于域后缀的单词,例如co.uk或co.id。然后$要求电子邮件地址以单词字符结尾。