一个合法的URL是一个由三部分构成的字符串:协议名+域名+[资源位置]+[/],本题中规定协议只能是http或者https;域名是由“.”分隔的2~4段字符串,每个字符串由英文字母、数字或者下划线组成;资源位置是由“/”分隔的若干段字符串组成,表示资源在服务器上存储的位置,每个字符串由英文字母、数字或者下划线组成,最后一段可以是文件名,形式为“字符串.字符串”;末尾可以有“/”。其中资源位置和/都是可选的,协议名和域名是必须的。
根据这一规则,下面这些都是合法的URL:
http://www.mafengwo.cn/ , http://www.mgtv.com/ , https://b.faloo.com , https://dgss0.bdstatic.com/5bVSsj_p_tVS5dKfpU_Y_D3/data/42634b577586fc45fb1e205c2a12ced0 ,
https://dgss0.bdstatic.com/5eR1dDebRNRTm2_p8IuM_a/res/r/image/2016 ,https://s.click.taobao.com/M3SR8gu/index.html ,
https://s.click.taobao.com/M3SR8gu/homepage.htm/
下面这些都是非法的URL:
http://www.mafengwo.cn/. , http://www@mgtv.com, https://b.faloo.com.cn.jp,
https:/dgss0.bdstatic.com , ftp://s.click.taobao.com/ , https//s.click.taobao.com/
请编程判断给定的字符串是否是形式上合法的域名。
题目中先给出一个整型数n(1 ≤ n ≤ 30),表示后面有n行字符串需要判断。随后的n行中,每行一个字符串,需要进行合法性判断。对于合法的字符串,应输出“Y”,否则输出“N”,结果中间不用空格。
样例
输入样例
4
https://dgss1.bdstatic.com
http://mail.10086.cn/
http://www.12377.cn/index.htm
http://www.cyberpolice.cn/wfjb/homepage.ht.ml
输出样例
DA:YYYN
了解一下
正则表达式
或
有限状态自动机