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

yipeiwu_com6年前Python基础

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

#!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__=='__main__':
 ip_list=['','172.31.137.251','100.10.0.1000','1.1.1.1','12.23.13','aa.12.1.2','12345678','289043jdhjkbh']
 for one_str in ip_list:
  if judge_legal_ip(one_str): #正则方法
  #if judge_legal_ip2(one_str): #字符串方法
   print '{0} is a legal ip address!'.format(one_str)
  else:
   print '{0} is not a legal ip address!'.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实现判断一个字符串是否是合法IP地址的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现在函数中修改变量值的方法

和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。 实际上,这种方式相当于传值和传引用的一种综合。如...

python有证书的加密解密实现方法

本文实例讲述了python有证书的加密解密实现方法。分享给大家供大家参考。具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资...

pandas DataFrame实现几列数据合并成为新的一列方法

pandas DataFrame实现几列数据合并成为新的一列方法

问题描述 我有一个用于模型训练的DataFrame如下图所示: 其中的country、province、city、county四列其实是位置信息的不同层级,应该合成一列用于模型训练 方...

Python模块的加载讲解

Python模块的加载讲解

不管是用import还是用from mmmm import *的方式导入模块,当程序运行之后,回头在看那个存储着mmmm.py文件的目录中,多了一个文件: $ ls mmm* mmm...

Python进度条实时显示处理进度的示例代码

前言 在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理进度,由此来决定接下来该做些什么。接下来告诉大家如何简单又漂亮的实现这一功能。 如何使用这个类 使...