我正在尝试一种最简单的方法来查找有效ip地址的正则表达式,而不使用内置的,如套接字或ipv4address或任何其他内置。我尝试了几个regexp,但它与有效的主机ip不匹配
>>> x = 'hello 10.10.10.10 20.20.20.20 baby 2000.20000.200000.2000'
>>> y = re.findall(r'[0-255]+\.[0-255]+\.[0-255]+\.[0-255]+',x)
>>> y
['10.10.10.10', '20.20.20.20', '2000.20000.200000.2000']
发布于 2019-05-15 03:47:32
您有一个正确的IPV4地址正则表达式,如果希望查找多个匹配项,可以使用findall(),但请注意,我的正则表达式既没有开始符号(^)也没有结束符号($)。这些符号意味着,只有以给定的正则表达式开头和结尾的文本才会匹配。
import re
IPV4_REGEX = "(?:(?:25[0-5]|2[0-4][0-9]|(?:1[0-9]|[1-9])?[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|(?:1[0-9]|[1-9])?[0-9])"
x = 'hello 10.10.10.10 20.20.20.20 baby 2000.20000.200000.2000'
result = re.findall(IPV4_REGEX, x)
print(result)
https://stackoverflow.com/questions/56136521
复制相似问题