使用正则表达式来匹配 IP 地址

2024-03-30

我正在尝试进行测试以检查 sys.argv 输入是否与 IP 地址的正则表达式匹配...

作为一个简单的测试,我有以下......

import re

pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
test = pat.match(hostIP)
if test:
   print "Acceptable ip address"
else:
   print "Unacceptable ip address"

但是,当我将随机值传递给它时,在大多数情况下它会返回“可接受的 IP 地址”,除非我有一个基本上相当于\d+.


使用正则表达式来验证 IP 地址是一个坏主意 - 这会将 999.999.999.999 视为有效。尝试使用套接字代替这种方法 - 更好的验证并且同样简单,甚至更容易做到。

import socket

def valid_ip(address):
    try: 
        socket.inet_aton(address)
        return True
    except:
        return False

print valid_ip('10.10.20.30')
print valid_ip('999.10.20.30')
print valid_ip('gibberish')

如果您确实想使用解析主机方法,则此代码将完全执行此操作:

def valid_ip(address):
    try:
        host_bytes = address.split('.')
        valid = [int(b) for b in host_bytes]
        valid = [b for b in valid if b >= 0 and b<=255]
        return len(host_bytes) == 4 and len(valid) == 4
    except:
        return False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用正则表达式来匹配 IP 地址 的相关文章

  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • Perl 正则表达式图灵完备吗?

    我见过 Ruby 和 Perl 程序员做了一些事情复杂的代码挑战 https codegolf stackexchange com questions 3596 regex validating regex完全用正则表达式 这前瞻和后瞻 h
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 从整数列表中获取随机数

    如果我有一个整数列表 List
  • 计算出的字体大小大于 Asus Nexus 7 上 CSS 中定义的字体大小

    我在 Asus Nexus 7 用 jQuery Mobile 编写 上运行该网页 我在 CSS 中将字体大小设置为 14px 但在调试过程中 在 PC 上使用 Chrome 我可以看到它的计算大小是 22px HTML 代码如下所示 di
  • Kubernetes 和 AWS:设置 LoadBalancer 以使用预定义的安全组

    正如标题所示 我正在寻找一种方法来强制 LoadBalancer 服务使用 AWS 中预定义的安全组 我不想手动编辑 Kubernetes 为 ELB 创建的安全组的入站 出站规则 我无法在文档中找到任何内容 也没有找到任何可以在网上其他地
  • 使用 jinja 的 Ansible set_fact 列表

    我正在尝试学习 jinja 和 Ansible 这是在 RHEL 7 9 上 ansible 2 9 27 ansible python module location usr lib python2 7 site packages ans
  • 同步睡眠进入 asyncio 协程

    我有一个协程如下 async def download downloader DataManager downloader download DataManager download 方法如下 def download self start
  • 使用 Mojo::IOLoop 将命令输出到套接字而不进行缓冲

    如何在Mojo服务器上以实时模式连续输出命令 对我来说是长ping 我正在寻找 Mojo IOLoop 的一些示例 例如 客户端连接到服务器并请求 ping X X X X 服务器返回非缓冲输出 而服务器上的 ping 返回每一行输出 客户
  • 如何从 TVML 文本字段获取值?

    我正在尝试弄清楚如何使用 TVJS 从 TVML 中的文本字段获取值 但我还没有找到任何相关文档 而且我不想等待文档更新 实际上没有任何绑定到输入的模式 因为我确信除了登录服务之外这是很少使用的情况 我想我可以解析 Xml 但这看起来非常老
  • 警报对话框背景颜色

    我正在使用具有自定义布局的 AlertDialog 布局中TextView的颜色为黑色 因此在Android 4 0上使用Holo Light打开对话框时 文本是可见的 但是 如果您在 Android 2 2 中打开该对话框 由于灰色背景
  • 如何在Unity中正确导入fbx?

    我已经建模了一个对象并导出为 fbx 在 Unity 中导入资源后 会出现一些伪影 这些文物似乎与 Unity 导入有关 而不是 fbx 文件 因为在 Windo3d 3d viever 中查看的模型似乎没有问题 万分感谢 Blender
  • Spark 中打开的文件太多,中止 Spark 作业

    在我的应用程序中 我正在读取 40 GB 的文本文件 这些文件完全分布在 188 个文件中 我拆分此文件并使用 rdd 对在 Spark 中每行创建 xml 文件 对于 40 GB 的输入 它将创建数百万个小 xml 文件 这是我的要求 一
  • IE 9 在悬停时重置背景位置(IE bug?)

    我不敢相信我发现了一些在 IE8 和 IE7 中都有效但在 IE9 中失败的东西 这是我正在处理的页面 网站链接 1 请注意 在 IE9 中 当悬停链接时 浏览器在侧面菜单上如何将背景重置为background position 0 0并且
  • 在 sbt 中添加仅编译时的子项目依赖项

    我有一个多项目包含一个私有宏子项目 其用途仅限于实现其他子项目的方法体 它既不应该出现在其他子项目的运行时类路径上 也不应该以任何形式在其他子项目已发布的 POM 中可见 这样其他 sbt 项目就可以在不知道宏子项目的情况下使用该项目中的库
  • Keycloak 缺少表单参数:grant_type

    我的本地计算机上有独立运行的 keycloak 我创建了名为 spring test 的新领域 然后创建了名为 login app 的新客户端 根据其余文档 POST http localhost 8080 auth realms spri
  • 如何对前 5 个有值的单元格求平均值

    我有一个类似这样的电子表格 我只想对前 5 个包含数据的单元格进行平均 我怎样才能做到这一点 随着列表获取更多数据 如下所示 我希望能够定位一个单元格 如 A10 并从该单元格返回 5 同样 只有当它里面有数据时 所以图像的公式应该是这样的
  • 邮政编码 + 国家/地区到地理坐标

    获取给定国家 地区的给定邮政编码 邮政编码的坐标 纬度 经度 的最完整 精确和可靠的方法是什么 我需要发出大量请求 因此高 API 限制率 甚至可能不存在 会很有用 GeoNames http www geonames org postal
  • 使用 movsd 让编译器复制字符

    我想在时间关键的函数中复制相对较短的内存序列 小于 1 KB 通常为 2 200 字节 CPU 端的最佳代码似乎是rep movsd 但是我不知何故无法让我的编译器生成此代码 我希望 我隐约记得看到过 使用 memcpy 可以使用编译器内置
  • 使用“严格引用”时不能使用字符串(“1”)作为子例程引用

    在对我尝试使用的各种事件做出反应的 Perl 守护进程中空对象模式 http en wikipedia org wiki Null Object pattern在 2 种情况下 通过创建匿名子例程 它应该只返回值 1 又名 true 请滚动
  • SQLAlchemy 与辅助表连接行为的关系在延迟加载和急切加载之间发生变化

    我已经使用 SQL Alchemy 几个月了 到目前为止 它给我留下了深刻的印象 我现在遇到了一个问题 这似乎是一个错误 但我不确定我是否在做正确的事情 我们在这里使用 MS SQL 通过表反射来定义表类 但是我可以使用内存 SQLite
  • maven部署到本地仓库

    有人可以告诉我如何将工件部署到本地存储库中以测试部署场景吗 问题是我们使用 nexus 作为远程存储库 我想知道是否可以使用自定义名称而不是 nexus 为我们提供的名称来部署我的工件 提前致谢 使用以下命令 mvn install ins
  • 使用正则表达式来匹配 IP 地址

    我正在尝试进行测试以检查 sys argv 输入是否与 IP 地址的正则表达式匹配 作为一个简单的测试 我有以下 import re pat re compile d 1 3 d 1 3 d 1 3 d 1 3 test pat match