Maison >développement back-end >Tutoriel Python >Implémentation Python pour déterminer si une chaîne est une adresse IP légale

Implémentation Python pour déterminer si une chaîne est une adresse IP légale

不言
不言original
2018-06-04 16:13:584860parcourir

Cet article présente principalement l'implémentation de Python pour déterminer si une chaîne est une adresse IP légale. Elle a une certaine valeur de référence. Maintenant, je la partage avec vous. Les amis dans le besoin peuvent s'y référer

. Une question de test écrit qui vient de se terminer, veuillez la poster brièvement. Voici la mise en œuvre spécifique :

#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:判断一个字符串是否是合法IP地址
'''
import re
def judge_legal_ip(one_str):
  '''
  正则匹配方法
  判断一个字符串是否是合法IP地址
  '''
  compile_ip=re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') 
  if compile_ip.match(one_str): 
    return True 
  else: 
    return False 
def judge_legal_ip2(one_str):
  '''
  简单的字符串判断
  '''
  if '.' not in one_str:
    return False
  elif one_str.count('.')!=3:
    return False
  else:
    flag=True
    one_list=one_str.split('.')
    for one in one_list:
      try:
        one_num=int(one)
        if one_num>=0 and one_num<=255:
          pass
        else:
          flag=False
      except:
        flag=False
    return flag
          
if __name__==&#39;__main__&#39;:
  ip_list=[&#39;&#39;,&#39;172.31.137.251&#39;,&#39;100.10.0.1000&#39;,&#39;1.1.1.1&#39;,&#39;12.23.13&#39;,&#39;aa.12.1.2&#39;,&#39;12345678&#39;,&#39;289043jdhjkbh&#39;]
  for one_str in ip_list:
    if judge_legal_ip(one_str): #正则方法
    #if judge_legal_ip2(one_str): #字符串方法
      print &#39;{0} is a legal ip address!&#39;.format(one_str)
    else:
      print &#39;{0} is not a legal ip address!&#39;.format(one_str)

. Les résultats sont les suivants :

is not a legal ip address! 
172.31.137.251 is a legal ip address! 
100.10.0.1000 is not a legal ip address! 
1.1.1.1 is a legal ip address! 
12.23.13 is not a legal ip address! 
aa.12.1.2 is not a legal ip address! 
12345678 is not a legal ip address! 
289043jdhjkbh is not a legal ip address!

Recommandations associées :

Jugement d'implémentation Python Méthode pour déterminer si le tableau contient des éléments spécifiés

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn