python编写一个程序去判断URL是否合法。题目中先给出一个整型数n(1 ≤ n ≤ 30),表示后面有n行字符串需要判断。随后的n行中,每行一个字符串,需要进行合法性判断。对于合法的字符串,应输出“Y”,否则输出“N”,结果中间不用空格。
时间: 2023-06-18 20:06:10 浏览: 52
可以使用Python的正则表达式模块re来判断URL是否合法。下面是一个示例代码:
```python
import re
n = int(input())
for i in range(n):
url = input()
if re.match(r'^https?://(?:[a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,}(?:/[^\s]*)?$', url):
print('Y')
else:
print('N')
```
代码中用re.match函数来判断字符串是否符合URL的正则表达式。正则表达式的含义是:
- ^https?://:以http://或https://开头;
- (?:[a-zA-Z0-9\-]+\.)+:一个或多个由字母、数字、横线和点组成的字符串,最后必须以点结尾;
- [a-zA-Z]{2,}:最后一个点后面是两个或以上的字母;
- (?:/[^\s]*)?$:可选的以/开头的字符串,后面跟着零个或多个非空白字符,表示路径。$表示字符串结束。
如果符合上述规则,则为合法URL,输出Y,否则为不合法URL,输出N。