判断一个字符串是否是合法IP地址
# -*- coding: utf-8 -*-
"""
@File:test06_判断ip地址是否合法.py
@E-mail:364942727@qq.com
@Time:2020-01-08 14:06
@Author:Nobita
@Version:1.0
@Desciption:判断一个字符串是否是合法IP地址
""" import re '''
题目:判断一个字符串是否是合法IP地址。
''' class Solution:
# write code here.
def judge_ip_address_one(self, ip_str):
'''方法一:正则匹配的方法'''
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(ip_str):
return True
else:
return False def judge_ip_address_two(self, ip_str):
'''方法二:字符串的方法'''
if '.' not in ip_str:
return False
elif ip_str.count('.') != 3:
return False
else:
flag = True
ip_list = ip_str.split('.')
for i in ip_list:
try:
ip_num = int(i)
if ip_num >= 0 and ip_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', '', '289043jdhjkbh']
for ip in ip_list:
# if Solution().judge_ip_address_one(ip): # 正则匹配的方法
if Solution().judge_ip_address_two(ip): # 字符串的方法
print('{}是合法的ip地址!'.format(ip))
else:
print('{}是不合法的ip地址!'.format(ip))
判断一个字符串是否是合法IP地址的更多相关文章
- python实现判断一个字符串是否是合法IP地址
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:判断一个字符串是否是合法IP地址 ''' import re def jud ...
- 判断一个字符串是否为合法IP
输入任意一个字符串,判断是否为合法IP bool IsIPAddress(const char * str){ //先判断形式是否合法, //检查是否只包含点和数字 ; str[i] != '\0'; ...
- 判断一个字符串是否为有效ip地址
bool f (const char *s) { int s1,s2,s3,s4; ) { return false; } if ((s1 & 0xffffff00) || (s2 & ...
- Linux中检查字符串是否为合法IP地址的shell脚本
#!/bin/bash #判断IP地址是否为有效IP CHKECK_IP () { CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'` i ...
- C# 判断一字符串是否为合法数字(正则表达式)
判断一个字符串是否为合法整数(不限制长度) public static bool IsInteger(string s) { string pattern = @"^\d*$"; ...
- 判断一个字符串是不是一个合法的IP地址
最近在笔试的时候遇到碰一道算法题, 要求判断一个字符串是不是合法的ip地址. 将我的思路发出来分享一下,不一定正确,也不一定是最优的方法.希望能分享一些交流 要求用java或者c来实现,我的java代 ...
- JS判断一个字符串是否包含一个子串函数.
微信小程序 JS判断一个字符串是否包含一个子串函数. //str 字符串,name子串 contains:function(str,name){ if(str.indexOf( ...
- 负载均衡实现,一个域名对应多个IP地址
负载均衡实现,一个域名对应多个IP地址 - 宏宇 - 博客园 https://www.cnblogs.com/cuihongyu3503319/archive/2012/07/09/2583129.h ...
- 判断一个字符串str不为空的方法
1.str == null; 2."".equals(str); 3.str.length 4.str.isEmpty(); 注意:length是属性,一般集合类对象拥有的属性,取 ...
随机推荐
- 四则运算APP版
(一)四则运算APP版 这这个Demo的目的就是强化一下本周学习的Android的Jetpack里的新内容,接下来我将通过这个Demo来展示我所学到的新知识. 先列出新学到的知识:ViewModel, ...
- Ubuntu18.04下安装MySQL5.7(支持win10-wsl环境)
注意: 本文操作环境为win10系统wsl下的Ubuntu18.04,对于原生的Ubuntu18.04同样适用.MySQL默认版本为5.7,其他版本不适用. 安装步骤 1.更新源: sudo apt ...
- OpenCV-Python 读取显示视频 | 六
目标 学习读取视频,显示视频和保存视频. 学习从相机捕捉并显示它. 你将学习以下功能:cv.VideoCapture(),cv.VideoWriter() 从相机中读取视频 通常情况下,我们必须用摄像 ...
- PyTorch 实战-用 Numpy 热身
Numpy provides an n-dimensional array object, and many functions for manipulating these arrays. Nump ...
- Python python 五种数据类型--字典
# 定义一个字典 var1 = {'a':20,'b':40}; var2 = dict(); print(type(var1)) print(type(var2)) # 长度 length = le ...
- return console.log()结果为undefined现象的解答
console.log总是出现undefined--麻烦的console //本文为作者自己思考后总结出的一些理论知识,若有错误,欢迎指出 bug出现 需求如下:新建一个car对象,调用其中的de ...
- Android的安装
基于VMware的Android虚拟机搭建 目录 基于VMware的Android虚拟机搭建 下载 安装 配置 使用 下载 进入VMware中国下载VMware Workstation Pro 进入f ...
- 从零开始编译安装 Extcalc
Extcalc 是个非常强大的计算器,同时也是一个非常老的软件包,已经不再更新.希望使用 apt-get 或是 dnf 安装已经不可能,更何况我是在 mips 的龙芯 3A 上.唯一的方法就是编译安装 ...
- python学习第四节 迭代器 生成器
1:什么是迭代 可以直接作用于for循环的对象统称为可迭代对象(Iterable). 可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator). 所有的Iterable均可以通 ...
- CentOS下的Docker离线安装
Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能很慢) 3.百度云Docker 18.06.1地址:h ...