python - 使用正则表达式将所有IP组成一个文件

时间:2018-06-05 13:19:01

标签: python regex

我正在尝试使用python-2.7打印文件中的所有IP。 最终,我将把它们添加到列表中。 在测试中,我获取文件中第一行的IP,但不是同一行中的其他IP。

以下是文件(output.txt)的示例:

region A { region-members { subnet 10.1.1.1/32 { } } }
region B { region-members { subnet 10.2.2.2/32 { } } }
region C { region-members { subnet 10.3.3.3/32 { } subnet 10.3.3.4/32 { } subnet 10.3.3.5/32 { } } }
region D { region-members { subnet 10.4.4.4/32 { } } }

这是代码

with open("output.txt") as f:
    for line in f:
        try:
            match = re.search(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', line)
            print match.group()
        except:
            print 'no match'

这是输出:

10.1.1.1
10.2.2.2
10.3.3.3
10.4.4.4

如何调整正则表达式以获取列出多于1个IP的行上的其他IP?

我已经尝试过re.findall和re.finditer,但它们什么也没有返回。我没有看到这些语法与re.search ...

不同的迹象

0 个答案:

没有答案