gpt4 book ai didi

python - 如何使用python在Regex匹配后捕获5行

转载 作者:行者123 更新时间:2023-12-04 09:31:57 26 4
gpt4 key购买 nike

我有一个以 3 位代码开头的文本我编写了一个逻辑来捕获当前行,但我需要连续捕获接下来的 5 行

import re
newtxt="200 sample text with many lines\n hell01 \n hell02 \n hell03 \n hell04 \n hell05\n hell06\n hell07 \n hell08"
text = re.compile(r'^\d{3} [a-z].*')
for line in newtxt.split('\n'):
if text.match(line):
print(line)

最佳答案

使用 iter 例如:

import re
newtxt="200 sample text with many lines\n hell01 \n hell02 \n hell03 \n hell04 \n hell05\n hell06\n hell07 \n hell08"
text = re.compile(r'^\d{3} [a-z].*')
newtext = iter(newtxt.splitlines())
for line in newtext:
if text.match(line):
for _ in range(5):
print(next(newtext))
输出:
 hell01 
hell02
hell03
hell04
hell05

如果您从文件对象中读取此内容,则不需要 iter方法。您可以直接迭代这些行。
例如:
text = re.compile(r'^\d{3} [a-z].*')
with open(filename) as infile:
for line in infile:
if text.match(line):
for _ in range(5):
print(next(infile))

关于python - 如何使用python在Regex匹配后捕获5行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62798403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com