Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python实现判断一个字符串是否是合法IP地址

python实现判断一个字符串是否是合法IP地址

不言
不言asal
2018-06-04 16:13:584751semak imbas

这篇文章主要介绍了关于python实现判断一个字符串是否是合法IP地址,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一个刚结束的笔试题目,简单贴一下吧,下面是具体实现:

#!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)

结果如下:

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!

相关推荐:

python实现判断数组是否包含指定元素的方法

Atas ialah kandungan terperinci python实现判断一个字符串是否是合法IP地址. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn