题解 | #合法IP#

合法IP

https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

# !/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = 'tianyi'
__date__ = '2024/3/24 08:59 '
__file__ = 'HW_HJ90.py'
import sys
String = sys.stdin.readline().rstrip()
#判断是否符合Ipv4格式
def is_ipv4(ip):
    ip_list = ip.split(".")
    if len(ip_list) != 4:
        return False
    for i in ip_list:
        if not i.isdigit():
            return False
        if int(i) < 0 or int(i) > 255:
            return False
    return True 

#通过正则判断是否符合Ipv4格式
import re
def is_ipv4_re(ip):
    return bool(re.match(r"^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$", ip))
#解释正则表达式 ^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$  
# ^表示匹配字符串的开始,$表示匹配字符串的结束 (25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)表示匹配0-255的数字 
# \.表示匹配.  {3}表示匹配3次  |表示或  [1-9]\d表示匹配10-99的数字 \d表示匹配0-9的数字 

if is_ipv4_re(String):
    print("YES")
else:
    print("NO")

Ipv4判断规则:是否被 . 切分为四段 是否都是数字 范围是否在0-225之间

全部评论

相关推荐

10-17 23:18
已编辑
西北农林科技大学 Web前端
独行m:给25可以试试,但他只能给12,那就是纯纯的事精
秋招,不懂就问
点赞 评论 收藏
分享
酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务