我终于在今天工作了很长一段时间之后不得不放弃。我试图从输出中检索所有IP地址,如下所示:
My Address: 10.10.10.1
Explicit Route: 192.168.238.90 192.168.252.209 192.168.252.241 192.168.192.209
192.168.192.223
Record Route:
我需要从“显式路由”和“记录路由”之间提取所有IP地址。我正在使用textfsm,我似乎无法得到我需要的一切。
答案 0 :(得分:1)
使用正则表达式和字符串操作:
import re
s = '''My Address: 10.10.10.1
Explicit Route: 192.168.238.90 192.168.252.209 192.168.252.241 192.168.192.209
192.168.192.223
Record Route:'''
ips = re.findall(r'\d+\.\d+\.\d+\.\d+', s[s.find('Explicit Route'):s.find('Record Route')])
答案 1 :(得分:0)
import re
with open('file.txt', 'r') as file:
f = file.read().splitlines()
for line in f:
found = re.findall(r'(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', line)
for f in found:
print(f)
编辑:
我们打开txt并按行读取,然后使用常规exp对每一行进行读取。查找ip(可以有1-3个数字,然后是。并重复4次)