兩個字符串我有包含像一些格式的文本文件:查找數據中的中間蟒蛇
PAGE(leave) 'Data1'
line 1
line 2
line 2
...
...
...
PAGE(enter) 'Data1'
我需要把所有的線在這兩個關鍵字之間,並將其保存爲文本文件。到目前爲止,我已經遇到了以下內容。但是我有一個與single quotes
有關的問題,因爲正則表達式認爲它是表達式中的引號而不是關鍵字。
我的代碼至今:
log_file = open('messages','r')
data = log_file.read()
block = re.compile(ur'PAGE\(leave\) \'Data1\'[\S ]+\s((?:(?![^\n]+PAGE\(enter\) \'Data1\').)*)', re.IGNORECASE | re.DOTALL)
data_in_home_block=re.findall(block, data)
file = 0
make_directory("home_to_home_data",1)
for line in data_in_home_block:
file = file + 1
with open("home_to_home_" + str(file) , "a") as data_in_home_to_home:
data_in_home_to_home.write(str(line))
這將是巨大的,如果有人能指導我如何實現它..
因此這些文件實際上包含括號之前反斜線?像'\('? – BorrajaX 2014-12-07 23:55:19
)爲什麼如果關鍵字不可變則使用正則表達式?只要查找它們,在文本中獲取它們的位置,然後檢索它們之間的內容。 – 2014-12-07 23:55:32