import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(((([a-zA-Z0-9]{2,255})+[/.]|([a-zA-Z0-9]{2,255})+[/_]|([a-zA-Z0-9]{2,255})+[/-])+[a-zA-Z0-9]{2,255})|[a-zA-Z0-9]{2,255})+@(((([a-zA-Z0-9]{2,255})+[/.]|([a-zA-Z0-9]{2,255})+[/_]|([a-zA-Z0-9]{2,255})+[/-])+[a-zA-Z0-9]{2,255})|[a-zA-Z0-9]{2,255})+\\.[a-z]{2,64}";
final String string = "valid.email@example.com\n"
+ "john.doe123@example.co.uk\n"
+ "alice_smith@company.org\n"
+ "user1234@emailprovider.net\n"
+ "test.email1234@email-domain.com\n"
+ "support@website.info\n"
+ "jane.doe@emailprovider.org\n"
+ "contact_us123@example.net\n"
+ "my.email123@email-provider.co\n\n\n"
+ "a@ce.ce\n"
+ "invalid.email@missingtld\n"
+ "john.doe@invaliddomain.c\n"
+ "spaces in@email.com\n"
+ "special!chars@email.com\n"
+ "noatemail.com\n"
+ "double..dots@email.com\n"
+ "@missingusername.com\n"
+ "user@inva@lid.com\n"
+ "missingatsigndomain.com";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html