【问题标题】:how to search any number exits in a list using python如何使用python搜索列表中的任何数字退出
【发布时间】:2018-01-09 11:07:15
【问题描述】:

我正在尝试搜索列表中的任何 IP。 下面是字符串列表,从这个列表中我想使用 python 搜索是否存在任何 IP。

[
   'Neighbour', 
   'Information:', 
   'Chassis', 
   'type', 
   ':', 
   'Mac', 
   'address', 
   'address'
   ' :'
   '146.89.4.32'
]

【问题讨论】:

  • 上面列表中的数字在哪里?你能再分享一个例子吗?
  • 它可以是任何东西。我不知道。
  • 如果存在整数怎么办,用你的预期输出编辑问题
  • 你说“只有数字,实际上是点分十进制数”。那不是一个数字!那是一个带有数字和点的字符串。你真正的问题是:“我想找到看起来像 IP 地址的东西。”?
  • 一种方法是创建一个IPv4Address。如果你没有得到AddressValueError,那就是IP地址。

标签: python paramiko


【解决方案1】:

使用正则表达式。

Please check this link for more info on regex !!!

More info how below regex works !!!

import re
val = ['Neighbour', 'Information:', 'Chassis', 'type', ':', 'Mac', 'address', 'Address', ':', '146.89.4.32']

for v in val:
    temp = re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',v)
    if len(temp) !=0:
        print v

【讨论】:

  • 这也将匹配999.999.999.999,它不能是IP号码。
  • 答案匹配任何组合,即使它超出范围@sivabalasenna,您的IP地址也应该只在255.255.255.255并且不应该跨越255,这个答案是如何实现的
  • OP 正在输出一些系统命令,并希望从该输出中提取 IP 地址。这就是为什么我没有检查IP地址的有效性。如果您正在解析文件输出或进行一些输入验证,IP 验证检查会更有用。
猜你喜欢
  • 2022-07-25
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多