This is the text describe how to write the email regex pattern.
Email Regular Expression Pattern
^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$
^ #start of the line
[_A-Za-z0-9-]+ # must start with string in the bracket [ ], must contains one or more (+)
( # start of group #1
\\.[_A-Za-z0-9-]+ # follow by a dot "." and string in the bracket [ ], must contains one or more (+)
)* # end of group #1, this group is optional (*)
@ # must contains a "@" symbol
[A-Za-z0-9]+ # follow by string in the bracket [ ], must contains one or more (+)
( # start of group #2 - first level TLD checking
\\.[A-Za-z0-9]+ # follow by a dot "." and string in the bracket [ ], must contains one or more (+)
)* # end of group #2, this group is optional (*)
( # start of group #3 - second level TLD checking
\\.[A-Za-z]{2,} # follow by a dot "." and string in the bracket [ ], with minimum length of 2
) # end of group #3
$ #end of the line
public static final String REGEX_LETTER = "^[a-zA-Z]{1}$";
public static final String REGEX_DIGIT = "^[0-9]{1}$";
public static final String REGEX_LETTERS = "^[a-zA-Z]+$";
public static final String REGEX_DIGITS = "^[0-9]+$";
public static final String REGEX_EMAIL = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
public static final String REGEX_USER_NAME = "^[a-zA-Z]{1}([a-zA-Z0-9]|[-._@ ',]){7,39}$";
public static final String REGEX_FIRST_NAME = "^[a-zA-Z]{1}([a-zA-Z0-9]|[-._ ',]){0,19}$";
public static final String REGEX_LAST_NAME = "^[a-zA-Z]{1}([a-zA-Z0-9]|[-._ ',]){0,29}$";
/**
* Check the format of the the string by regex.pattern
* @param regex
* @param string
* @return boolean
*/
public boolean startCheck(String regex, String str) {
boolean result = false;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
result = matcher.matches();
return result;
}