Python检测端口IP字符串是否合法


Posted in Python onJune 05, 2020

IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法。

不使用正则表达式的方式:

def is_ip(ip: str) -> bool:
  return True if [True] * 4 == [x.isdigit() and 0 <= int(x) <= 255 for x in ip.split(".")] else False

使用正则表达式的方式

import re
 
def isIP(str):
  p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$')
  if p.match(str):
    return True
  else:
    return False

另一种

def checkip(hostip):
  pat = re.compile(r'([0-9]{1,3})\.')
  r = re.findall(pat,hostip+".")
  if len(r)==4 and len([x for x in r if int(x)>=0 and int(x)<=255])==4:
    return True
  else:
    return False

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现定制交互式命令行的方法
Jul 03 Python
Python标准库之itertools库的使用方法
Sep 07 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
python 字典中取值的两种方法小结
Aug 02 Python
TensorFlow实现Logistic回归
Sep 07 Python
Django model update的多种用法介绍
Mar 28 Python
python障碍式期权定价公式
Jul 19 Python
python super用法及原理详解
Jan 20 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 #Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 #Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 #Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 #Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 #Python
Python命名空间namespace及作用域原理解析
Jun 05 #Python
Python3内置函数chr和ord实现进制转换
Jun 05 #Python
You might like
php中看实例学正则表达式
2006/12/25 PHP
php escape URL编码
2008/12/10 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
PHP闭包实例解析
2014/09/08 PHP
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python多进程读图提取特征存npy
2019/05/21 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Django model class Meta原理解析
2020/11/14 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
公益活动策划方案
2014/01/09 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
篮球比赛口号
2014/06/10 职场文书
政府采购方案
2014/06/12 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
主题班会开场白
2015/06/01 职场文书
离职信范本
2015/06/23 职场文书
培根随笔读书笔记
2015/07/01 职场文书
聘用合同范本
2015/09/21 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
Python上下文管理器Content Manager
2021/06/26 Python