/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static String EMAIL_REGEX
= "([^/\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]"
+ "+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)"
+ "(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+"
+ "|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))"
+ "*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+"
+ "|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)"
+ "(\\x2e([^/\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]"
+ "+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*";
{
String s
= "/something/users/myemail@email.com/somethingelse"; Matcher m = Pattern.compile(EMAIL_REGEX).matcher(s);
while (m.find())
{
//System.out.println(EMAIL_REGEX);
System.
out.
println(m.
group()); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7Cglwcml2YXRlIHN0YXRpYyBTdHJpbmcgRU1BSUxfUkVHRVggPQogICAgICAgICAgICAiKFteL1xceDAwLVxceDIwXFx4MjJcXHgyOFxceDI5XFx4MmNcXHgyZVxceDNhLVxceDNjXFx4M2VcXHg0MFxceDViLVxceDVkXFx4N2YtXFx4ZmZdIgogICAgICAgICAgICArICIrfFxceDIyKFteXFx4MGRcXHgyMlxceDVjXFx4ODAtXFx4ZmZdfFxceDVjW1xceDAwLVxceDdmXSkqXFx4MjIpIgogICAgICAgICAgICArICIoXFx4MmUoW15cXHgwMC1cXHgyMFxceDIyXFx4MjhcXHgyOVxceDJjXFx4MmVcXHgzYS1cXHgzY1xceDNlXFx4NDBcXHg1Yi1cXHg1ZFxceDdmLVxceGZmXSsiCiAgICAgICAgICAgICsgInxcXHgyMihbXlxceDBkXFx4MjJcXHg1Y1xceDgwLVxceGZmXXxcXHg1Y1tcXHgwMC1cXHg3Zl0pKlxceDIyKSkiCiAgICAgICAgICAgICsgIipcXHg0MChbXlxceDAwLVxceDIwXFx4MjJcXHgyOFxceDI5XFx4MmNcXHgyZVxceDNhLVxceDNjXFx4M2VcXHg0MFxceDViLVxceDVkXFx4N2YtXFx4ZmZdKyIKICAgICAgICAgICAgKyAifFxceDViKFteXFx4MGRcXHg1Yi1cXHg1ZFxceDgwLVxceGZmXXxcXHg1Y1tcXHgwMC1cXHg3Zl0pKlxceDVkKSIKICAgICAgICAgICAgKyAiKFxceDJlKFteL1xceDAwLVxceDIwXFx4MjJcXHgyOFxceDI5XFx4MmNcXHgyZVxceDNhLVxceDNjXFx4M2VcXHg0MFxceDViLVxceDVkXFx4N2YtXFx4ZmZdIgogICAgICAgICAgICArICIrfFxceDViKFteXFx4MGRcXHg1Yi1cXHg1ZFxceDgwLVxceGZmXXxcXHg1Y1tcXHgwMC1cXHg3Zl0pKlxceDVkKSkqIjsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCQoJCVN0cmluZyBzID0gIi9zb21ldGhpbmcvdXNlcnMvbXllbWFpbEBlbWFpbC5jb20vc29tZXRoaW5nZWxzZSI7ICAgICAgICAgCgkJTWF0Y2hlciBtID0gUGF0dGVybi5jb21waWxlKEVNQUlMX1JFR0VYKS5tYXRjaGVyKHMpOwoJCXdoaWxlIChtLmZpbmQoKSkKCQl7CgkJCS8vU3lzdGVtLm91dC5wcmludGxuKEVNQUlMX1JFR0VYKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKG0uZ3JvdXAoKSk7CgkJfQoJfQp9