当前位置: 首页 > 面试题库 >

使用RegEx匹配Python中的IP地址

公羊奇
2023-03-14
问题内容

我正在尝试进行测试以检查sys.argv输入是否与IP地址的RegEx相匹配…

作为一个简单的测试,我有以下内容…

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+


问题答案:

您必须通过以下方式修改您的正则表达式

pat = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")

这是因为.通配符代表“每个字符”



 类似资料:
  • 我正试图将这些值以如下方式放入数组: 我不太清楚如何使用regex处理多行文本。regex是正确的方法吗?

  • 问题内容: 检查字符串是否匹配特定模式的最快方法是什么?正则表达式是最好的方法吗? 例如,我有一堆字符串,想要检查每个字符串以查看它们是否为有效的IP地址(在这种情况下为有效,表示正确的格式),使用regex最快的方法是吗?还是有更快的字符串格式化之类的东西。 到目前为止,我一直在做这样的事情: 问题答案: 更新 :最初的答案对2011年有效,但自2012年以来,使用Python的 ipaddre

  • 问题内容: 我认为我遇到了一个听起来比实际容易的问题……我不太确定。我想定义一个正则表达式,并且要构建一些与之匹配的字符串。 我可以导入具有该功能的任何模块吗?最好不要使用或暴力破解方法。必须有一种更优雅的方法来做到这一点。 问题答案: 我一直在研究一个小的帮助程序库,用于使用Python生成随机字符串 它包含一个方法,该方法允许您从正则表达式创建字符串: 目前,它适用于大多数基本正则表达式。

  • 问题内容: 如何仅使用标准库在Python平台中独立查找本地IP地址(即192.168.xx或10.0.xx)? 问题答案: 这将永远无法正常工作(返回127.0.0.1主机为as的机器127.0.0.1),将是gimel显示的一种称呼,而是使用。当然,您的计算机需要一个可解析的主机名。

  • 我在这里做错了什么? 尝试匹配任何包含空格、小写、大写或数字的字符串。特殊字符也很好,但我认为这需要转义某些字符。 这显然只测试上限、下限、数字和空格。但不管用。 *更新*

  • 我试图创建一个与ip地址匹配的regex,或者一个带有网络掩码的ip地址:类似于8.8.8.8/24 第一部分匹配得很好,第二部分与netmask匹配得很好…有人知道为什么吗?