Skip to content

Instantly share code, notes, and snippets.

@brianmfear
Created December 13, 2021 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brianmfear/441f1ae0a0e3b1bd9d844b722045ed0b to your computer and use it in GitHub Desktop.
Save brianmfear/441f1ae0a0e3b1bd9d844b722045ed0b to your computer and use it in GitHub Desktop.
// Regexp from https://stackoverflow.com/questions/201323/how-can-i-validate-an-email-address-using-a-regular-expression
public class Utils {
public static String[] findEmailsInString(String source) {
String emailRegex = '(?:[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*|"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])';
Pattern p = Pattern.compile(emailRegex);
Matcher m = p.matcher(source);
String[] emails = new String[0];
while(m.find()) {
emails.add(m.group(0));
}
return emails;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment