我有一個文本文件,我希望使用正則表達式匹配單詞PATTERN
並提取START
和END
(文本文件如下所示)之間的文本。我不想直接匹配START
和END
字段,因爲我在該部分有隨機數據,但PATTERN
保持不變,所以我可以很容易地匹配這一點。我有一個快速和骯髒的Python腳本,可以匹配模式,但我堅持下一步。從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開始從這個角度上讀取文件,當它擊中一個空行退出。有小費嗎?
'nt'變量在那裏沒用。 – rubik 2012-03-12 14:25:10
在提取所需數據之前,您是否必須讀取整個文件?看起來,解決方案可能是在''line_match = count''break'之後跳出循環。 – ChrisP 2012-03-12 14:37:07
@ChrisP我需要讀取整個文件至少一次才能匹配正則表達式,對吧?一旦我得到一場比賽,我想下面5行,繼續閱讀,直到NEXT空行。所以在這種情況下,我應該在「START」和「END」之間得到文本。 – prrao 2012-03-12 14:40:25