2017-01-09 54 views
0

我已经搜索了常见问题和其他几个REGEX站点,但还没有找到我的问题的答案。虽然我能够成功地执行了比赛,我想不出来然后引用下一行的比赛后打印或添加到列表中的最佳方式,等等。这里是我的pogramPython 3.4 - 使用REGEX匹配一个字符串,然后复制以下行

with open("input.txt", mode='r') as sourcefile, open("output.txt", mode='w') as destinationfile: 
    for codeline in sourcefile: 
     if (re.match("interface GigabitEthernet0/[0123]", codeline)): 
      print(codeline) 

我输入文件中有下面...

input.txt中

interface GigabitEthernet0/0 
Ip Address 10.10.10.10 255.255.255.0 

当我执行此我得到的回报以下...

interface GigabitEthernet0/0 

但我要得到这个,而不是...

Ip Address 10.10.10.10 255.255.255.0 

我已经想通了我自己相当多的在这一点上,但这个简单的挑战已经绊倒了我。如果与iterator序列匹配,如何从iterator打印下一行?

如果你能帮助我,请提前致谢。对不起,但这是我在Stack上的第一篇文章,所以如果我没有正确格式化,我正在尝试。

回答

0

只需设置一个标志,打印以下行以及

print_next = False 
for codeline in sourcefile: 
    if print_next: 
     print(codeline) 
     print_next = False 
    elif (re.match("interface GigabitEthernet0/[0123]", codeline)): 
     print_next = True 
+0

谢谢你的回应,我会试一试并立即检查! – ChicagoResident

0

我能够使用下一个()类型实现我的目标。

谢谢。

相关问题