У меня есть текстовый файл, в котором я хочу сопоставить слово PATTERN
с помощью регулярного выражения и извлечь текст в диапазоне от START
до END
(текстовый файл показан ниже). Я не хочу сопоставлять поля START
и END
напрямую, так как у меня есть случайные данные в этой части, но PATTERN
остается неизменным, поэтому я могу легко сопоставить это. У меня есть быстрый и грязный скрипт Python, который может соответствовать шаблону, но я застрял на следующем шаге.
HERE IS MY PATTERN:
IGNORE SECTION
**************************************************
START 1 2 3 4 5
. . . . . .
. . . . . .
. . . . . .
END . . . . .
TEXT FILE CONTINUES...........
.
.
.
.
**************************************************
Как мне сказать Python читать в строках на 5 строк ниже шаблона и останавливаться при чтении в первой пустой строке ?
Вот мой сценарий:
#!usr/bin/env python
import re
pattern = r'PATTERN:'+'$'
count = 0
fp = open('fileinput.txt')
for line in fp:
count += 1
match = re.search(pattern,line)
if match:
print 'Matched text:', line, 'Line', count
line_match = count
new_line = line_match+4
Я отметил нужную мне строку, но не могу сказать Python начать чтение файла с этого момента и завершить работу, когда он достигнет пустой строки. Любые советы?