Regular expression to fetch domain name from email address

One of the interview questions: Write a regular expression to fetch domain name from email address.
Example: ravindra.joisa@hotmail.com

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DomainName {


public static void main(String[] args) {


System.out.println(returnDomainName("ravindra.joisa@hotmail.com"));
}

public static String returnDomainName(String emailAddress)

{
String domainName=null;
String regExp = "^[\\w!#$%&’*+/=?`{|}~^-]+(?:\\.[\\w!#$%&’*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$";
Pattern pat = Pattern.compile(regExp);
Matcher matcher = pat.matcher(emailAddress);
if(matcher.matches())
{
int ind = emailAddress.indexOf("@");
domainName = emailAddress.substring(ind+1);
}
return domainName;
}

}

Output: hotmail.com

No comments:

Post a Comment