两个字符串我有包含像一些格式的文本文件:查找数据中的中间蟒蛇
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