使用python查找段落中包含的特定模式

时间:2015-08-26 19:12:46

标签: python data-processing

我尝试使用python浏览文件,查找特定信息然后将其打印到终端。我正在寻找的信息包含在一个看起来像这样的块中:

\\Version=EM64L-G09RevD.01\State=1-A1\HF=-1159.6991675\RMSD=4.915e-11\RMSF=1.175e-07\ZeroPoint=0.0353317\

我希望能够获得HF=-1159.6991675的信息。更一般地说,我希望脚本能够复制并打印\HF=WhateverTheNumberIs\

我设法创建了能够复制整行并将其打印到终端的脚本,但我不确定如何完成这项特定任务。

2 个答案:

答案 0 :(得分:0)

我的建议是使用正则表达式(regex)以捕获所需的模式:

import re #for using regular expressions
s = open(<filename here>).read() #read the content of the file and hold it as a string to be scanned
p = re.compile("\HF=[^\]+", re.flags)  #p would be the pattern as you described, starting with \HF= till the next \)
print p.findall(s) #finds all occurrences and prints them 

答案 1 :(得分:0)

正则表达式就是答案,例如r&#39; / HF。* /&#39;。

教程: - regex tutorial

一旦学会了正则表达式,它就是不可或缺的资源。