我搜索了常见问题解答和其他一些REGEX网站但未找到我的问题的答案。虽然我可以成功执行匹配,但我无法找出最佳方法,然后在匹配后引用NEXT行打印或添加到列表等。这是我的pogram
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
此时我自己已经想出了很多,但这个微不足道的挑战让我感到沮丧。如果它与正则表达式序列匹配,如何从迭代器中打印下一行?
如果你能帮助我,请提前致谢。抱歉,这是我在Stack的第一篇文章,所以如果我没有正确格式化,我正在尝试。
答案 0 :(得分: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
答案 1 :(得分:0)
我能够使用next()类型来实现我的目标。
谢谢。