邮箱合法性判断【Java】
描述
一个合法的邮箱是形如“**@ **. **. **”的字符串,@符号之前是账户名,由若干英文字母、数字或者下划线组成。@之后是域名,由“.”分隔成为2~4段,其中每一段由英文字母、数字或者下划线组成,不允许包含其它字符,下面都是一些合法的邮箱:
liu@.mail.baidu.com,zhange@163.com,guge@mail.sina.com.cn,mail_new@noi.org,lisi@vip.mai.qq.com,hao123@263.net
请编程判断给定的字符串是否是形式上合法的邮箱。
题目中先给出一个整型数n(1 ≤ n ≤ 30),表示后面有n行字符串需要判断。随后的n行中,每行一个字符串,需要进行合法性判断。对于合法的字符串,应输出“Y”,否则输出“N”,结果中间不用空格。
格式
输入格式
第一行是正整数数n。从第2行到第n+1行,每行一个字符串,需要判断其合法性
输出格式
由“Y”和“N”组成的一行数据,分别表示第n个数据是合法还是非法
样例
输入样例
5 v.hao123@baidu.com hao123.com@qq.com first@pbccrc.org.cn www@.baidu.com pro@sina.com.cn
输出样例
NNYNY
import java.util.Scanner;
public class Yuming{public static void main(String[] args) {Scanner input=new Scanner(System.in);int T=input.nextInt();input.nextLine();int i;StringBuffer result=new StringBuffer(T);for(i=0;i<T;i++){String str=input.nextLine();String regex="\\w+@(\\w+\\.){1,3}\\w+";if(str.matches(regex)){result.append("Y");}else{result.append("N");}} System.out.println(result);}
}
