我正在尝试从字符串中提取 IP 地址
import re
stri_ = '''192.168.1.1,192.168.1.2/32,192.168.1.5-192.168.1.7,reject,
reject,192.168.1.1/32,reject
172.168.1.4-172.168.1.4,reject
'''
ip_addr_with_range = re.findall('([0-9+-reject]+)\,(reject)*',stri_)
ip_addr_without_range = re.findall('/([0-9\-reject]+)*',stri_)
for i in ip_addr_with_range :
print (i[0])
我的出局
192.168.1.1,192.168.1.2/32,192.168.1.5-192.168.1.7,reject,reject,192.168.1.1/32
172.168.1.4-172.168.1.4
期望出局
ip_addr_with_range
[192.168.1.1,192.168.1.2/32,192.168.1.5,192.168.1.7,192.168.1.1/32,172.168.1.4,172.168.1.4]
ip_addr_without_range
[192.168.1.1,192.168.1.2,192.168.1.5,192.168.1.7,192.168.1.1,172.168.1.4,172.168.1.4]
最佳答案
这应该有效。
ip_addr_with_range = re.findall('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/?\d{0,}', stri_)
ip_addr_without_range = re.findall('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', stri_)
关于python - 如何从字符串中提取IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58620712/