//实现使用正则表达式来判断指定的字符串是否是合法的E-mail地址
String regex = ".+@.+(\\..{2,3})*\\..{2,3}";
String regex1 = "\\w+@\\w+(\\.\\w+)*\\.\\w+";
String regex3 = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String s37 = "aaaa";
String s38 = "aaaa@";
String s39 = "aaaa@qqqq";
String s40 = "745196899@qq.com";
String s41 = "745196899@qq.com.cn";
if(s37.matches(regex)){
System.out.println(s37+"是合法的E-mail地址");
}
if(s38.matches(regex)){
System.out.println(s38+"是合法的E-mail地址");
}
if(s39.matches(regex)){
System.out.println(s39+"是合法的E-mail地址");
}
if(s40.matches(regex)){
System.out.println(s40+"是合法的E-mail地址");
}
if(s41.matches(regex)){
System.out.println(s41+"是合法的E-mail地址");
}
正则表达式分析:
通常情况下E-mail的格式为“X@X.com.cn”。字符X表示任意的一个或多个字符,@为E-mail地址中的特有符号,符号@后还有一个或多个字符,之后是字符“.com”,也可能后面还有类似“.cn”的标记。总结E-mail地址的这些特点,因此可以书写正则表达式为:“\w+@\w+(\.\w+)\.\w+”来匹配E-mail地址。字符集“\w”匹配任意字符,符号“+”表示字符可以出现1次或多次,表达式“(\.\w+)”表示形如“.com”格式的字符串可以出现0次或多次。最后的表达式“\.\w+”用于匹配E-mail地址中的结尾字符,如“.com”